summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/akktex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/akktex
Initial commit
Diffstat (limited to 'macros/latex/contrib/akktex')
-rw-r--r--macros/latex/contrib/akktex/README55
-rw-r--r--macros/latex/contrib/akktex/documentation/still to do0
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akkconditional.sty40
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akkcounterlabelpattern.sty142
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akkdoc.sty26
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akknum.sty21
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akkstring.sty54
-rw-r--r--macros/latex/contrib/akktex/source/akktex/base/akktex.sty54
-rw-r--r--macros/latex/contrib/akktex/source/akktex/classes/akklecture.cls104
-rw-r--r--macros/latex/contrib/akktex/source/akktex/classes/akkscript.cls138
-rw-r--r--macros/latex/contrib/akktex/source/akktex/classes/akktecdoc.cls90
-rw-r--r--macros/latex/contrib/akktex/source/akktex/cs/akkcs.sty27
-rw-r--r--macros/latex/contrib/akktex/source/akktex/german/akkgerman.sty26
-rw-r--r--macros/latex/contrib/akktex/source/akktex/german/akkgermanabbreviations.sty43
-rw-r--r--macros/latex/contrib/akktex/source/akktex/layout/akklongpage.sty19
-rw-r--r--macros/latex/contrib/akktex/source/akktex/layout/akkparskip.sty243
-rw-r--r--macros/latex/contrib/akktex/source/akktex/layout/akksection.sty125
-rw-r--r--macros/latex/contrib/akktex/source/akktex/layout/akkwidepage.sty72
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmath.sty35
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathbasic.sty51
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathdisc.sty22
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathfun.sty34
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathnum.sty342
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathpaper.sty83
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty176
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathrel.sty161
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathset.sty138
-rw-r--r--macros/latex/contrib/akktex/source/akktex/math/akkmathtext.sty110
28 files changed, 2431 insertions, 0 deletions
diff --git a/macros/latex/contrib/akktex/README b/macros/latex/contrib/akktex/README
new file mode 100644
index 0000000000..f50ee0977b
--- /dev/null
+++ b/macros/latex/contrib/akktex/README
@@ -0,0 +1,55 @@
+AkkTeX - LaTeX utilities by Igor Akkerman (http://www.akktex.org/)
+
+Main Features:
+ - new document classes for technical documents, thesis works, mathematical
+ manuscripts and lecture notes
+ - many math packages providing a tremendous nuber of macros for mathematical
+ texts
+ - layout providing a non-empty parskip with extended length corrections and
+ new section definition commands
+ - easy label creation for counters
+ - German language tools and predefined abbreviations
+
+
+AkkTeX summary
+
+AkkTeX consists of a collection of new LaTeX document classes and a very large
+set of LaTeX packages with hundreds of new macros simplifying the creation of
+scientific papers. The packages have all been created within years of practical
+work with LaTeX.
+
+AkkTeX provides document classes for mathematical lecture notes, elegant
+working sheets, thesis works and many more. They are designed for easy-to-use
+generation of the specified kinds of documents.
+
+Additionally, the AkkTeX packages provide a tremendous number of macros,
+especially for mathematic texts. Their goal is to reduce the creation time of
+documents to a minimum, such that, for example, to type a mathematic paper does
+not take longer than to write it by hand. Another advantage over usual LaTeX
+typing is that the macro names are subject-specific, not symbol-oriented.
+That is, the author can think less about the LaTeX symbol names, but instead,
+can call them by their meaning. The \set macro is just the simplest example.
+Not only typing becomes more intuitive, but also, reading the LaTeX source code,
+changing and refactoring it is made easier.
+
+The latest release can be found at:
+
+ http://www.akktex.org/
+
+Browse our CVS repository for the latest versions of the packages and document
+classes at:
+
+ http://sourceforge.net/cvs/?group_id=160672
+
+=========================================================================
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License (latest version).
+
+The latest version of this license can be found at
+ http://www.latex-project.org/lppl.txt
+
+This file may only be distributed together with a copy of the
+'AkkTeX' bundle.
+
+The files belonging to the 'AkkTeX' bundle are listed above in this file.
+=========================================================================
diff --git a/macros/latex/contrib/akktex/documentation/still to do b/macros/latex/contrib/akktex/documentation/still to do
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/macros/latex/contrib/akktex/documentation/still to do
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akkconditional.sty b/macros/latex/contrib/akktex/source/akktex/base/akkconditional.sty
new file mode 100644
index 0000000000..fc6ad504dc
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akkconditional.sty
@@ -0,0 +1,40 @@
+%=====================================================================================================================================
+% Package akkconditional by Igor Akkerman (c) 2004, 2005
+% Package providing utilities for handling conditionals.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkconditional}[2005/04/30 1.1.1 by Igor Akkerman (c) 2004, 2005 Package providing utilities for handling conditionals.]
+%=====================================================================================================================================
+
+\RequirePackage{ifthen}
+%------------------------------------------------------------------------------
+
+\newcommand \setnewboolean[2] {\newboolean{#1}\setboolean{#1}{#2}}
+
+\newcommand \ifthen[2] {\ifthenelse{#1}{#2}{}}
+\newcommand \ifelse[2] {\ifthenelse{#1}{}{#2}}
+\newcommand \ifbool[3] {\ifthenelse{\boolean{#1}}{#2}{#3}}
+\newcommand \ifbooltrue[2] {\ifthen{\boolean{#1}}{#2}}
+\newcommand \ifboolfalse[2] {\ifelse{\boolean{#1}}{#2}}
+
+%--------------------------
+% \ifset[<unsetstring>]{<expression>}{<code>}
+% Executes <code> if <expression> is not <unsetstring>; does nothing otherwise.
+% {<unsetstring> defaults to the empty string}
+%--------------------------
+% \ifthenelseset[<unsetstring>]{<expression>}{<thencode>}{<elsecode>}
+% Executes <thencode> if <expression> is not <unsetstring>; <elsecode> otherwise.
+% {<unsetstring> defaults to the empty string}
+%--------------------------
+\newcommand \ifset[3][] {\ifelse{\equal{#2}{#1}}{#3}}
+\newcommand \ifthenelseset[4][] {\ifthenelse{\equal{#2}{#1}}{#4}{#3}}
+%--------------------------
+
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akkcounterlabelpattern.sty b/macros/latex/contrib/akktex/source/akktex/base/akkcounterlabelpattern.sty
new file mode 100644
index 0000000000..5a96ffc083
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akkcounterlabelpattern.sty
@@ -0,0 +1,142 @@
+%=====================================================================================================================================
+% Package akkcounterlabelpattern by Igor Akkerman (c) 2004
+% Package providing easy counter label creation using a specified pattern.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkcounterlabelpattern}[2006/10/25 1.0.2 by Igor Akkerman (c)2004-2006 Package providing easy counter label creation using a specified pattern.]
+%=====================================================================================================================================
+
+%=====================================================================================================================================
+% This package is providing simple means for creating counter labels with a
+% user-defined pattern.
+%
+% Usually, for displaying counters in a LaTeX document,
+% you would need to use the commands "\arabic{mycounter}", "\Alph{mycounter}" etc.
+%
+% This package provides an easier way to define how a counter should be displayed.
+% A pattern like "{Element }1" or "{Part }A" can be specified to define the label's format,
+% instead of "Element \arabic{mycounter}" or "Part \Alph{mycounter}".
+%=====================================================================================================================================
+
+\makeatletter
+
+\newtoks \akk@counterlabel%
+
+% -------------------------------------------------------------------
+% \createcounterlabel {<countername>} {<labelname>} {<labelpattern>}
+%
+% Creates a new command \<labelname> expanding to the label specified
+% by <labelpattern> using the counter specified by <countername>.
+%
+% Examples:
+% \createcounterlabel {chapter}{chapternumber}{{Chapter }1}
+% creates the new command \chapternumber that will expand to
+% "Chapter 1", "Chapter 2", "Chapter 3", ...
+% where "1", "2", "3", ... are the current values of the counter
+% "chapter".
+% It is a shorter version of
+% \renewcommand {\thechapter} {\arabic{chapter}}
+% \newcommand {\chapternumber} {Chapter \thechapter}
+%
+% \createcounterlabel {part}{partnumber}{{Part }A}
+% creates the new command \partnumber that will expand to
+% "Part A", "Part B", "Part C", ...
+% where A, B, C, ... are the uppercase letter representants of the
+% current values of the counter "part".
+% It is a shorter version of
+% \renewcommand {\thepart} {\alph{part}}
+% \newcommand {\partnumber} {Part \thepart}
+% -------------------------------------------------------------------
+\newcommand \createcounterlabel[3] {%
+ \def\akk@countername{#1}%
+ \akk@counterlabel{}%
+ \let \akk@counterpatternNumber ?%
+ \akk@parsePatternToken@ #3\relax%
+ \ifx\akk@counterpatternNumber?%
+ \@warning{%
+ [counterlabelpattern] The counter will not be printed.^^J%
+ [counterlabelpattern] The label is: '\the\akk@counterlabel'%
+ }%
+ \fi%
+ \expandafter%
+ \def \csname #2\endcsname {\the\akk@counterlabel}%
+ \expandafter%
+ \let \csname the\akk@countername\endcsname \akk@counterpatternNumber%
+}
+
+\def \akk@parsePatternToken@ {%
+ % set \akk@patterntoken to <next token in <labelpattern> >,
+ % expand \akk@processPatternToken@ \akk@patterntoken
+ \futurelet\akk@patterntoken\akk@processPatternToken@%
+}
+
+\def \akk@processPatternToken@ {%
+ \ifx \akk@patterntoken A%
+ \def\akk@processcommand{\akk@processLabel\Alph}%
+ \else \ifx \akk@patterntoken a%
+ \def\akk@processcommand{\akk@processLabel\alph}%
+ \else \ifx \akk@patterntoken i%
+ \def\akk@processcommand{\akk@processLabel\roman}%
+ \else \ifx \akk@patterntoken I%
+ \def\akk@processcommand{\akk@processLabel\Roman}%
+ \else \ifx \akk@patterntoken 1%
+ \def\akk@processcommand{\akk@processLabel\arabic}%
+ \else \ifx \akk@patterntoken \@sptoken% (= ' ')
+ \let\akk@processcommand\akk@processSpace%
+ \else \ifx \akk@patterntoken \bgroup% (= '{')
+ \let\akk@processcommand\akk@processGroup%
+ \else \ifx \akk@patterntoken\relax%
+ \let\akk@processcommand\@gobble%
+ \else%
+ \let\akk@processcommand\akk@processOther%
+ \counterlabelpatternTokenHook
+ \fi\fi\fi\fi\fi\fi\fi\fi%
+ \akk@processcommand%
+}
+
+% \akk@processLabel<\Alph|\alph|\Roman|\roman|\arabic><A|a|I|i|1>
+% Actually, the second parameter is ignored.
+\def \akk@processLabel#1#2{%
+ \ifx\akk@counterpatternNumber?%
+ \else%
+ \errmessage{%
+ [counterlabelpattern] The counter must be unique in the label.%
+ }%
+ \fi%
+ \edef \akk@counterpatternNumber {\noexpand#1{\akk@countername}}%
+ \akk@counterlabel \expandafter{\the\akk@counterlabel\csname the\akk@countername\endcsname}%
+ \akk@parsePatternToken@%
+}
+
+\def \akk@processSpace {%
+ \afterassignment\akk@processSp@ce%
+ \let\akk@dummy= % (don't remove the blank before %)
+}
+
+\def \akk@processSp@ce {%
+ \akk@counterlabel \expandafter{\the\akk@counterlabel\space}%
+ \akk@parsePatternToken@%
+}
+
+\def \akk@processGroup#1{%
+ \akk@counterlabel \expandafter{\the\akk@counterlabel{#1}}%
+ \akk@parsePatternToken@%
+}
+
+\def \akk@processOther#1{%
+ \akk@counterlabel%
+ \expandafter{\the\akk@counterlabel#1}%
+ \akk@parsePatternToken@%
+}
+
+\providecommand\counterlabelpatternTokenHook{}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akkdoc.sty b/macros/latex/contrib/akktex/source/akktex/base/akkdoc.sty
new file mode 100644
index 0000000000..70248bfd33
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akkdoc.sty
@@ -0,0 +1,26 @@
+%=====================================================================================================================================
+% Package akkdoc by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing commands for documents.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkdoc}[2005/04/30 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing commands for documents.]
+%=====================================================================================================================================
+\newboolean{akk@datetitle}
+
+\renewcommand \maketitle {%
+ \setboolean{akk@datetitle}{false}%
+ \akk@maketitle%
+}
+
+\newcommand \makedatetitle {%
+ \setboolean{akk@datetitle}{true}%
+ \akk@maketitle%
+}
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akknum.sty b/macros/latex/contrib/akktex/source/akktex/base/akknum.sty
new file mode 100644
index 0000000000..1a1a62adb5
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akknum.sty
@@ -0,0 +1,21 @@
+%=====================================================================================================================================
+% Package akknum by Igor Akkerman (c) 2005
+% Package providing numeric utilities.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akknum}[2005/05/01 1.0.0 by Igor Akkerman (c) 2005 Package providing numeric utilities.]
+%=====================================================================================================================================
+\newcommand \romannum[1] {\@roman#1}
+\newcommand \Romannum[1] {\@Roman#1}
+\newcommand \rom[1] {\romannum{#1}}
+\newcommand \Rom[1] {\Romannum{#1}}
+\newcommand \alphnum[1] {\@alph#1}
+\newcommand \Alphnum[1] {\@Alph#1}
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akkstring.sty b/macros/latex/contrib/akktex/source/akktex/base/akkstring.sty
new file mode 100644
index 0000000000..d74363290f
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akkstring.sty
@@ -0,0 +1,54 @@
+%=====================================================================================================================================
+% Package akkstring by Igor Akkerman (c) 2004, 2005
+% Package providing string operation utilities.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkstring}[2005/04/30 1.2.2 by Igor Akkerman (c) 2004, 2005 Package providing string operation utilities.]
+%=====================================================================================================================================
+
+\RequirePackage{ifthen}
+
+\makeatletter
+
+\newcommand \ignore[1] {}
+\newcommand \ign[1] {}
+
+\newcommand \centerln[1] {\hspace*{\fill}{#1}\hspace*{\fill}}
+
+\newcommand \firstchar[1] {%
+ \def\@firstof##1##2!!!{##1}%
+ \expandafter\@firstof#1!!!%
+}
+
+\newcommand \removefirstchar[1] {%
+ \def\@restof##1##2!!!{##2}%
+ \expandafter\@restof#1!!!%
+}
+
+% \extractleadingnumber {<string>} {<countername>}
+\newcommand \extractleadingnumber[2] {%
+ \setbox0=\hbox{\global\csname c@#2\endcsname 0#1\relax}%
+}
+
+% \extractnumber {<string>} {<countername>}
+\newcommand \extractnumber[2] {%
+ \def\@restof##1##2!!!{##2}%
+ \def\@remblank##1##2!!!{##1##2}%
+ \edef\@string{#1}%
+ \extractleadingnumber\@string{#2}%
+ \whiledo{\(\not \equal{\@string}{}\) \and \value{#2} = 0} {%
+ \edef\@string{\expandafter\@restof\@string!!!}%
+ \edef\@string{\expandafter\@remblank\@string!!!}%
+ \extractleadingnumber\@string{#2}%
+ }%
+}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/base/akktex.sty b/macros/latex/contrib/akktex/source/akktex/base/akktex.sty
new file mode 100644
index 0000000000..495e7f475e
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/base/akktex.sty
@@ -0,0 +1,54 @@
+%=====================================================================================================================================
+% Package akktex by Igor Akkerman (c) 2005
+% Package loading all AkkTeX packages.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akktex}[2005/05/05 1.0.1 by Igor Akkerman (c) 2005 Package loading all AkkTeX packages.]
+%=====================================================================================================================================
+
+\makeatletter
+
+% Initialisierungsteil
+\RequirePackage{akkconditional}
+
+\newboolean {akk@widepage}
+\newboolean {akk@longpage}
+
+% Deklaration von Optionen
+\DeclareOption {widepage} {\setboolean {akk@widepage} {true}}
+\DeclareOption {longpage} {\setboolean {akk@longpage} {true}}
+\DeclareOption {twoside} {\PassOptionsToPackage {twoside} {akkwidepage}}
+\DeclareOption {intlimits} {\PassOptionsToPackage{intlimits}{akkmath}}
+
+% Ausfuehrung von Optionen
+\ProcessOptions
+
+% Laden von Paketen
+\RequirePackage{ifthen}
+\RequirePackage{calc}
+\RequirePackage{lscape}
+\RequirePackage{longtable}
+\RequirePackage{theorem}
+\RequirePackage{float}
+\RequirePackage{enumerate}
+\RequirePackage{verbatim}
+
+\RequirePackage{akkdoc}
+\RequirePackage{akkstring}
+\RequirePackage{akknum}
+\RequirePackage{akkcounterlabelpattern}
+\RequirePackage{akkparskip}
+\RequirePackage{akkmath}
+\RequirePackage{akkcs}
+\ifbooltrue{akk@widepage}{\RequirePackage{akkwidepage}}
+\ifbooltrue{akk@longpage}{\RequirePackage{akklongpage}}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/classes/akklecture.cls b/macros/latex/contrib/akktex/source/akktex/classes/akklecture.cls
new file mode 100644
index 0000000000..6dbbc3f537
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/classes/akklecture.cls
@@ -0,0 +1,104 @@
+%=====================================================================================================================================
+% Class akklecture by Igor Akkerman (c) 2005
+% Class for typesetting lecture notes.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{akklecture}[2005/05/05 v1.0.0 by Igor Akkerman (c) 2005 Class for typesetting lecture notes.]
+%=====================================================================================================================================
+
+\makeatletter
+
+% Initialisierungsteil
+\AtBeginDocument{%
+ \maketitle%
+}
+
+\AtEndDocument{%
+ \label{lastpage}%
+}
+
+% Deklaration von Optionen
+\DeclareOption {10pt} {\PassOptionsToClass {10pt} {article}}
+\DeclareOption {11pt} {\PassOptionsToClass {11pt} {article}}
+\DeclareOption {12pt} {\PassOptionsToClass {12pt} {article}}
+\DeclareOption {draft} {\PassOptionsToClass {draft} {article}}
+\DeclareOption {final} {\PassOptionsToClass {final} {article}}
+
+\DeclareOption {widepage} {\PassOptionsToPackage {widepage} {akktex}}
+\DeclareOption {longpage} {\PassOptionsToPackage {longpage} {akktex}}
+
+\DeclareOption* {\OptionNotUsed} % don't forward unknown options
+
+% Ausfuehrung von Optionen
+\ProcessOptions
+
+% Laden von Paketen
+\LoadClass[a4paper]{article}
+
+\RequirePackage[longpage,widepage]{akktex}
+\RequirePackage{fancyhdr}
+
+% ---------------------------------------------------------
+% set headers / footer
+% ---------------------------------------------------------
+\pagestyle{fancy}
+\setlength \headheight \baselineskip % maximum number of rows in header: 1
+\setlength \headsep \baselineskip % vertical space between header and text
+\lhead{\@title}
+\chead{\thepage/\pageref{lastpage}}
+\rhead{\@date}
+\lfoot{}
+\cfoot{}
+\rfoot{}
+
+% ---------------------------------------------------------
+% remove \abstract command
+% ---------------------------------------------------------
+\global\let\abstract\relax
+
+% ---------------------------------------------------------
+% definition of the \maketitle command
+% ---------------------------------------------------------
+\newcommand \akk@maketitle {%
+ \normalsize%
+ \begin{large}%
+ \bfseries%
+ \@title\makebox[0pt]{\phantom{Mg}}%
+ \hspace*\fill
+ \@date%
+ \end{large}%
+ \renewcommand \maketitle \relax%
+ \par%
+}
+% ---------------------------------------------------------
+
+% ---------------------------------------------------------
+% theorem environments definition
+% ---------------------------------------------------------
+% needs to be defined here because it doesn't use section numbers
+% ---------------------------------------------------------
+\theoremstyle{break}
+
+\theorembodyfont{\rmfamily\upshape}
+\newtheorem {definition} {Definition}
+\newtheorem {beispiel} [definition] {Beispiel}
+\newtheorem {lemma} [definition] {Lemma}
+\newtheorem {korollar} [definition] {Korollar}
+\newtheorem {corollar} [definition] {Corollar}
+\newtheorem {theorem} [definition] {Theorem}
+\newtheorem {bemerkung} [definition] {Bemerkung}
+\newtheorem {proposition} [definition] {Proposition}
+
+\theorembodyfont {\rmfamily\itshape}
+\newtheorem {satz} [definition] {Satz}
+% ---------------------------------------------------------
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/classes/akkscript.cls b/macros/latex/contrib/akktex/source/akktex/classes/akkscript.cls
new file mode 100644
index 0000000000..85407768e0
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/classes/akkscript.cls
@@ -0,0 +1,138 @@
+%=====================================================================================================================================
+% Class akkscript by Igor Akkerman (c) 2004, 2005
+% Class for typesetting scripts.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{akkscript}[2005/04/30 v1.0.0 by Igor Akkerman (c) 2004, 2005 Class for typesetting scripts.]
+%=====================================================================================================================================
+
+\makeatletter
+
+% Initialisierungsteil
+\RequirePackage{ifthen}
+\RequirePackage{theorem}
+\RequirePackage{akkconditional}
+
+\AtBeginDocument{}
+
+% Deklaration von Optionen
+\DeclareOption{10pt}{\PassOptionsToClass{10pt}{book}}
+\DeclareOption{11pt}{\PassOptionsToClass{11pt}{book}}
+\DeclareOption{12pt}{\PassOptionsToClass{12pt}{book}}
+
+% Ausfuehrung von Optionen
+\ProcessOptions
+
+% Laden von Paketen
+\LoadClass[a4paper]{book}
+
+\RequirePackage{ifthen}
+
+\RequirePackage{lscape}
+\RequirePackage{longtable}
+\RequirePackage{theorem}
+\RequirePackage{float}
+\RequirePackage{enumerate}
+\RequirePackage{verbatim}
+
+\RequirePackage[longpage,widepage,twoside,intlimits]{akktex}
+
+% ---------------------------------------------------------
+% definition of the \maketitle command
+% ---------------------------------------------------------
+\newcommand \akk@subtitle {}
+\newcommand \subtitle[1] {%
+ \renewcommand \akk@subtitle {#1}%
+}
+
+\newcommand \akk@maketitle {%
+ \begin{titlepage}%
+ \let \footnotesize \small
+ \let \footnoterule \relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ \akk@widepage@setorigvalues%
+ \hspace*\fill
+ \begin{minipage}{\akk@orig@textwidth}%
+ \begin{center}%
+ \begin{Huge}%
+ \bfseries%
+ \@title\makebox[0pt]{\phantom{Mg}}%
+ \\%
+ \end{Huge}%
+ \ifset{akk@subtitle} {%
+ \vspace{2ex}%
+ \begin{large}%
+ \akk@subtitle%
+ \\%
+ \end{large}%
+ }
+ \vspace{3ex}%
+ \begin{Large}%
+ \bfseries%
+ \begin{tabular}[t]{c}%
+ \@author\makebox[0pt]{\phantom{Mg}}%
+ \end{tabular}%
+ \\%
+ \end{Large}%
+ \ifbooltrue{akk@datetitle} {%
+ \vspace{3ex}%
+ \begin{large}%\bfseries%
+ \@date\\%
+ \end{large}%
+ }%
+ \vspace{2ex}%
+ \end{center}%
+ \end{minipage}%
+ \hspace*\fill
+ \akk@widepage@setdefaultvalues%
+ \par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@author\@empty
+ \global\let\@date\@empty
+ \global\let\@title\@empty
+ \global\let\title\relax
+ \global\let\author\relax
+ \global\let\date\relax
+ \global\let\and\relax
+}
+% ---------------------------------------------------------
+
+% ---------------------------------------------------------
+% theorem environments definition
+% ---------------------------------------------------------
+% needs to be defined here because it uses section numbers
+% ---------------------------------------------------------
+\theoremstyle{changebreak}
+
+\theorembodyfont{\rmfamily\upshape}
+\newtheorem {definition} {Definition} [section]
+\newtheorem {beispiel} [definition] {Beispiel}
+\newtheorem {lemma} [definition] {Lemma}
+\newtheorem {korollar} [definition] {Korollar}
+\newtheorem {corollar} [definition] {Corollar}
+\newtheorem {theorem} [definition] {Theorem}
+\newtheorem {bemerkung} [definition] {Bemerkung}
+\newtheorem {proposition} [definition] {Proposition}
+
+\theorembodyfont {\rmfamily\itshape}
+\newtheorem {satz} [definition] {Satz}
+% ---------------------------------------------------------
+
+\makeatother
+
diff --git a/macros/latex/contrib/akktex/source/akktex/classes/akktecdoc.cls b/macros/latex/contrib/akktex/source/akktex/classes/akktecdoc.cls
new file mode 100644
index 0000000000..0d8577ae6d
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/classes/akktecdoc.cls
@@ -0,0 +1,90 @@
+%=====================================================================================================================================
+% Class akktecdoc by Igor Akkerman (c) 2004, 2005
+% Class for typesetting technical documents.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{akktecdoc}[2005/04/30 v1.0.1 by Igor Akkerman (c) 2004, 2005 Class for typesetting technical documents.]
+%=====================================================================================================================================
+
+\makeatletter
+
+% Initialisierungsteil
+\RequirePackage{ifthen}
+\RequirePackage{akkconditional}
+
+\AtBeginDocument{}
+
+% Deklaration von Optionen
+\DeclareOption {10pt} {\PassOptionsToClass {10pt} {article}}
+\DeclareOption {11pt} {\PassOptionsToClass {11pt} {article}}
+\DeclareOption {12pt} {\PassOptionsToClass {12pt} {article}}
+\DeclareOption {draft} {\PassOptionsToClass {draft} {article}}
+\DeclareOption {final} {\PassOptionsToClass {final} {article}}
+
+\DeclareOption {widepage} {\PassOptionsToPackage {widepage} {akktex}}
+\DeclareOption {longpage} {\PassOptionsToPackage {longpage} {akktex}}
+
+\DeclareOption* {\OptionNotUsed} % don't forward unknown options
+
+% Ausfuehrung von Optionen
+\ProcessOptions
+
+% Laden von Paketen
+\LoadClass[a4paper]{article}
+
+\RequirePackage{akktex}
+
+% ---------------------------------------------------------
+% definition of the abstract: use original paragraph values
+% ---------------------------------------------------------
+\let \akk@orig@abstract \abstract
+\let \akk@orig@endabstract \endabstract
+\renewenvironment {abstract} {%
+ \akk@setoriginalvalues%
+ \akk@orig@abstract%
+}{%
+ \akk@orig@endabstract%
+ \akk@setdefaultvalues%
+}
+% ---------------------------------------------------------
+
+% ---------------------------------------------------------
+% definition of the \maketitle command
+% ---------------------------------------------------------
+\newcommand \akk@maketitle {%
+ \normalsize%
+ \begin{center}%
+ \begin{Huge}%
+ \bfseries%
+ \@title\makebox[0pt]{\phantom{Mg}}%
+ \\%
+ \end{Huge}%
+ \vspace{2.5ex}%
+ \begin{Large}%
+ \bfseries%
+ \begin{tabular}[t]{c}%
+ \@author\makebox[0pt]{\phantom{Mg}}%
+ \end{tabular}%
+ \\%
+ \end{Large}%
+ \ifbooltrue{akk@datetitle} {%
+ \vspace{3ex}%
+ \begin{large}%\bfseries%
+ \@date\\%
+ \end{large}%
+ }%
+ \vspace{2ex}%
+ \end{center}%
+ \renewcommand \maketitle \relax%
+}
+% ---------------------------------------------------------
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/cs/akkcs.sty b/macros/latex/contrib/akktex/source/akktex/cs/akkcs.sty
new file mode 100644
index 0000000000..c52de7732b
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/cs/akkcs.sty
@@ -0,0 +1,27 @@
+%=====================================================================================================================================
+% Package akkcs by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting computer science elements.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkcs}[2005/04/30 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting computer science elements]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+\newcommand \wlen[1] {{\left| #1 \right|}}
+\providecommand \inv {^{-1}} % word inverse (do not wrap twice! {{}})
+\newcommand \winv \inv
+\providecommand \inverse[1] {{{#1}\inv}} % word inverse of argument
+\newcommand \winverse[1] {\inverse{#1}}
+\newcommand \wcolon {{\!:\!}}
+\newcommand \OO {{\mathcal O}}
diff --git a/macros/latex/contrib/akktex/source/akktex/german/akkgerman.sty b/macros/latex/contrib/akktex/source/akktex/german/akkgerman.sty
new file mode 100644
index 0000000000..2e23dcce66
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/german/akkgerman.sty
@@ -0,0 +1,26 @@
+%=====================================================================================================================================
+% Package akkgerman by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package for typesetting German documents.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkgerman}[2005/04/27 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package for typesetting German documents.]
+%=====================================================================================================================================
+
+% prepare for Latin-1 encoding and German dictionary
+\RequirePackage[latin1]{inputenc}
+\RequirePackage[T1]{fontenc}
+\RequirePackage[ngerman]{babel}
+
+% German abbreviations
+\RequirePackage{akkgermanabbreviations}
+
+% German quotes
+\newcommand \qq[1] {\glqq #1\grqq\relax\@\xspace}
diff --git a/macros/latex/contrib/akktex/source/akktex/german/akkgermanabbreviations.sty b/macros/latex/contrib/akktex/source/akktex/german/akkgermanabbreviations.sty
new file mode 100644
index 0000000000..e1060f8bd7
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/german/akkgermanabbreviations.sty
@@ -0,0 +1,43 @@
+%=====================================================================================================================================
+% Package akkgermanabbreviations by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004
+% Package providing common German abbreviations.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkgermanabbreviations}[2004/06/10 1.1.1 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004 Package providing common German abbreviations.]
+%=====================================================================================================================================
+
+\RequirePackage{xspace}
+%------------------------------------------------------------------------------
+
+\renewcommand \dh {d.\,h.\@\xspace}
+\newcommand \Dh {D.\,h.\@\xspace}
+\newcommand \zb {z.\,B.\@\xspace}
+\newcommand \Zb {Z.\,B.\@\xspace}
+\newcommand \ua {u.\,a.\@\xspace}
+\newcommand \Ua {U.\,a.\@\xspace}
+\newcommand \Def {Def.\@\xspace}
+\newcommand \Bem {Bem.\@\xspace}
+\newcommand \vgl {vgl.\@\xspace}
+\newcommand \Vgl {Vgl.\@\xspace}
+\newcommand \tbzw {bzw.\@\xspace}
+\newcommand \tBzw {Bzw.\@\xspace}
+\newcommand \bzgl {bzgl.\@\xspace}
+\newcommand \Bzgl {Bzgl.\@\xspace}
+\newcommand \Co {Co.\@\xspace}
+\newcommand \usw {usw.\@\xspace}
+\newcommand \ggf {ggf.\@\xspace}
+\newcommand \Ggf {Ggf.\@\xspace}
+\renewcommand \S {S.\@\xspace}
+\newcommand \s {s.\@\xspace}
+\newcommand \so {s.\,o.\@\xspace}
+\newcommand \su {s.\,u.\@\xspace}
+\newcommand \oae {o.\,ä.\@\xspace}
+\newcommand \ff {ff.\@\xspace}
diff --git a/macros/latex/contrib/akktex/source/akktex/layout/akklongpage.sty b/macros/latex/contrib/akktex/source/akktex/layout/akklongpage.sty
new file mode 100644
index 0000000000..17c46afdef
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/layout/akklongpage.sty
@@ -0,0 +1,19 @@
+%=====================================================================================================================================
+% Package akklongpage by Igor Akkerman (c) 2004
+% Package providing long pages.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akklongpage}[2004/06/12 by Igor Akkerman (c) 2004 v1.0.1 Package providing long pages.]
+%=====================================================================================================================================
+
+\setlength \voffset {-1in}
+\setlength \topmargin {2cm}
+\setlength \textheight {23cm}
diff --git a/macros/latex/contrib/akktex/source/akktex/layout/akkparskip.sty b/macros/latex/contrib/akktex/source/akktex/layout/akkparskip.sty
new file mode 100644
index 0000000000..548815e817
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/layout/akkparskip.sty
@@ -0,0 +1,243 @@
+%=====================================================================================================================================
+% Package akkparskip by Igor Akkerman (c) 2004, 2005
+% Package providing a non empty paragraph skip with list and section environment corrections.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkparskip}[2005/04/30 by Igor Akkerman (c) 2004, 2005 v1.3.2 Package providing a non empty paragraph skip with list and section environment corrections.]
+%=====================================================================================================================================
+
+\RequirePackage{akksection}
+
+\makeatletter
+
+\newcommand \akk@layoutlist {%
+ % ------------------------------------------------------------------------------
+ % set default labelsep
+ % (as set for the article class)
+ %
+ \setlength \labelsep \akk@default@labelsep%
+ % ------------------------------------------------------------------------------
+ % set default labelwidth
+ % (as set in size10.clo for the article class)
+ %
+ \setlength \labelwidth \leftmargin%
+ \addtolength \labelwidth {-\labelsep}%
+ % ------------------------------------------------------------------------------
+ % set default rightmargin
+ %
+ \setlength \rightmargin \akk@default@rightmargin%
+ % ------------------------------------------------------------------------------
+ % set default listparindent
+ %
+ \setlength \listparindent \akk@default@listparindent%
+ % ------------------------------------------------------------------------------
+ % set default itemindent
+ %
+ \setlength \itemindent \akk@default@itemindent%
+ % ------------------------------------------------------------------------------
+ % set default topsep
+ % (set it to the default topsep value of the article class
+ % minus the parskip since we don't need it before and after the list)
+ %
+ \setlength \topsep \akk@default@topsep%
+ \addtolength \topsep {-\parskip}%
+ % ------------------------------------------------------------------------------
+ % set default partopsep
+ % (set it to our parskip value)
+ %
+ \setlength \partopsep \akk@default@partopsep%
+ % ------------------------------------------------------------------------------
+ % set default parsep
+ % (set it to our parskip value)
+ %
+ \setlength \parsep \akk@default@parsep%
+ % ------------------------------------------------------------------------------
+ % set default itemsep
+ % (set it to the default itemsep value minus the parsep since we don't need it)
+ %
+ \setlength \itemsep \akk@default@itemsep%
+ \addtolength \itemsep {-\parsep}%
+ % ------------------------------------------------------------------------------
+}
+
+\let \akk@orig@listI \@listI
+\let \akk@orig@listi \@listi
+\let \akk@orig@listii \@listii
+\let \akk@orig@listiii \@listiii
+\let \akk@orig@listiv \@listiv
+\let \akk@orig@listv \@listv
+\let \akk@orig@listvi \@listvi
+
+\newcommand \akk@default@listI {%
+ \setlength \leftmargin \leftmargini%
+ \akk@layoutlist%
+}
+\let \akk@default@listi \akk@default@listI
+
+\newcommand \akk@default@listii {%
+ \setlength \leftmargin \leftmarginii%
+ \akk@layoutlist%
+}
+
+\newcommand \akk@default@listiii {%
+ \setlength \leftmargin \leftmarginiii%
+ \akk@layoutlist%
+}
+
+\newcommand \akk@default@listiv {%
+ \setlength \leftmargin \leftmarginiv%
+ \akk@layoutlist%
+}
+
+\newcommand \akk@default@listv {%
+ \setlength \leftmargin \leftmarginv%
+ \akk@layoutlist%
+}
+
+\newcommand \akk@default@listvi {%
+ \setlength \leftmargin \leftmarginvi%
+ \akk@layoutlist%
+}
+
+% --------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+% original values of the article class
+\newlength \akk@orig@parskip
+\newlength \akk@orig@parindent
+\newlength \akk@orig@labelsep
+\newlength \akk@orig@rightmargin
+\newlength \akk@orig@listparindent
+\newlength \akk@orig@itemindent
+\newlength \akk@orig@topsep
+\newlength \akk@orig@partopsep
+\newlength \akk@orig@parsep
+\newlength \akk@orig@itemsep
+
+% actual default values of this style
+\newlength \akk@default@parskip
+\newlength \akk@default@parindent
+\newlength \akk@default@labelsep
+\newlength \akk@default@rightmargin
+\newlength \akk@default@listparindent
+\newlength \akk@default@itemindent
+\newlength \akk@default@topsep
+\newlength \akk@default@partopsep
+\newlength \akk@default@parsep
+\newlength \akk@default@itemsep
+
+% skips before and after sections
+\newlength \akk@@beforesectionskip
+\newlength \akk@@beforesubsectionskip
+\newlength \akk@@beforesubsubsectionskip
+\newlength \akk@@beforeparagraphskip
+\newlength \akk@@aftersectionskip
+\newlength \akk@@aftersubsectionskip
+\newlength \akk@@aftersubsubsectionskip
+\newlength \akk@@afterparagraphskip
+
+% get the original values of the article class
+\setlength \akk@orig@parskip \parskip
+\setlength \akk@orig@parindent \parindent
+\setlength \akk@orig@labelsep \labelsep
+\setlength \akk@orig@rightmargin \rightmargin
+\setlength \akk@orig@listparindent \listparindent
+\setlength \akk@orig@itemindent \itemindent
+\setlength \akk@orig@topsep \topsep
+\setlength \akk@orig@partopsep \partopsep
+\setlength \akk@orig@parsep \parsep
+\setlength \akk@orig@itemsep \itemsep
+
+% set the actual default values of this style
+\setlength \akk@default@parindent \z@
+\setlength \akk@default@parskip {0.71125\baselineskip plus 2pt} % = 3mm bei 10pt
+\setlength \akk@default@labelsep \akk@orig@labelsep
+\setlength \akk@default@rightmargin \z@
+\setlength \akk@default@listparindent \z@
+\setlength \akk@default@itemindent \z@
+\setlength \akk@default@topsep \akk@orig@topsep
+\setlength \akk@default@partopsep \akk@default@parskip
+\setlength \akk@default@parsep \akk@default@parskip
+\setlength \akk@default@itemsep \akk@orig@itemsep
+
+\newcommand \akk@setoriginalvalues {%
+ \let \@listI \akk@orig@listI%
+ \let \@listi \akk@orig@listi%
+ \let \@listii \akk@orig@listii%
+ \let \@listiii \akk@orig@listiii%
+ \let \@listiv \akk@orig@listiv%
+ \let \@listv \akk@orig@listv%
+ \let \@listvi \akk@orig@listvi%
+ \setlength \parskip \akk@orig@parskip%
+ \setlength \parindent \akk@orig@parindent%
+ \setlength \labelsep \akk@orig@labelsep%
+ \setlength \rightmargin \akk@orig@rightmargin%
+ \setlength \listparindent \akk@orig@listparindent%
+ \setlength \itemindent \akk@orig@itemindent%
+ \setlength \topsep \akk@orig@topsep%
+ \setlength \partopsep \akk@orig@partopsep%
+ \setlength \parsep \akk@orig@parsep%
+ \setlength \itemsep \akk@orig@itemsep%
+}
+
+\newcommand \akk@setdefaultvalues {%
+ \let \@listI \akk@default@listI%
+ \let \@listi \akk@default@listi%
+ \let \@listii \akk@default@listii%
+ \let \@listiii \akk@default@listiii%
+ \let \@listiv \akk@default@listiv%
+ \let \@listv \akk@default@listv%
+ \let \@listvi \akk@default@listvi%
+ \setlength \parskip \akk@default@parskip%
+ \setlength \parindent \akk@default@parindent%
+ \setlength \labelsep \akk@default@labelsep%
+ \setlength \rightmargin \akk@default@rightmargin%
+ \setlength \listparindent \akk@default@listparindent%
+ \setlength \itemindent \akk@default@itemindent%
+ \setlength \topsep \akk@default@topsep%
+ \setlength \partopsep \akk@default@partopsep%
+ \setlength \parsep \akk@default@parsep%
+ \setlength \itemsep \akk@default@itemsep%
+ \akk@layoutlist%
+}
+
+% \akk@beforesectionskip {<sectionname>} {<skip before section>}
+\newcommand \akk@beforesectionskip[2] {%
+ \expandafter \setlength \csname akk@@before#1skip\endcsname {-\akk@default@parskip}%
+ \expandafter \addtolength \csname akk@@before#1skip\endcsname {#2}%
+}
+
+% \akk@aftersectionskip {<sectionname>} {<skip after section>}
+\newcommand \akk@aftersectionskip[2] {%
+ \expandafter \setlength \csname akk@@after#1skip\endcsname {-\akk@default@parskip}%
+ \expandafter \addtolength \csname akk@@after#1skip\endcsname {#2}%
+}
+
+\akk@beforesectionskip {section} {3.5ex \@plus 1ex \@minus .2ex}
+\akk@aftersectionskip {section} {2.3ex \@plus.2ex}
+
+\akk@beforesectionskip {subsection} {3.25ex\@plus 1ex \@minus .2ex}
+\akk@aftersectionskip {subsection} {1.5ex \@plus .2ex}
+
+\akk@beforesectionskip {subsubsection} {3.25ex\@plus 1ex \@minus .2ex}
+\akk@aftersectionskip {subsubsection} {1.5ex \@plus .2ex}
+
+\akk@beforesectionskip {paragraph} {2ex \@plus 1ex \@minus .2ex}
+\akk@aftersectionskip {paragraph} {.3ex \@plus .2ex}
+
+% \akk@startsection{<name>}{<ebene>}{<einzug>}{<einziehen?>}{<vorabstand>}{<eingebettet?>}{<nachabstand>}{stil}
+\renewcommand \section {\akk@startsection {section} {1} {0pt} {false} {\akk@@beforesectionskip} {false} {\akk@@aftersectionskip} {\normalfont\Large\bfseries}}
+\renewcommand \subsection {\akk@startsection {subsection} {2} {0pt} {false} {\akk@@beforesubsectionskip} {false} {\akk@@aftersubsectionskip} {\normalfont\large\bfseries}}
+\renewcommand \subsubsection {\akk@startsection {subsubsection} {3} {0pt} {false} {\akk@@beforesubsubsectionskip} {false} {\akk@@aftersubsubsectionskip} {\normalfont\normalsize\bfseries}}
+\renewcommand \paragraph {\akk@startsection {paragraph} {4} {0pt} {false} {\akk@@beforeparagraphskip} {false} {\akk@@afterparagraphskip} {\normalfont\bfseries}}
+
+\akk@setdefaultvalues
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/layout/akksection.sty b/macros/latex/contrib/akktex/source/akktex/layout/akksection.sty
new file mode 100644
index 0000000000..5ef4419583
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/layout/akksection.sty
@@ -0,0 +1,125 @@
+%=====================================================================================================================================
+% Package akksection by Igor Akkerman (c) 2004, 2005
+% Package providing an alternative section definition command.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akksection}[2005/04/30 by Igor Akkerman (c) 2004, 2005 v1.0.2 Package providing an alternative section definition command.]
+%=====================================================================================================================================
+
+\makeatletter
+
+\newif\if@embedded
+
+% \akk@startsection{<name>}{<ebene>}{<einzug>}{<einziehen?>}{<vorabstand>}{<eingebettet?>}{<nachabstand>}{stil}
+\def\akk@startsection#1#2#3#4#5#6#7#8{%
+ \if@noskipsec \leavevmode \fi%
+ \par%
+ \@tempskipa #5\relax%
+ \csname @afterindent#4\endcsname%
+ \if@nobreak%
+ \everypar{}%
+ \else%
+ \addpenalty\@secpenalty\addvspace\@tempskipa%
+ \fi%
+ \@ifstar{%
+ \akk@ssect{#3}{#4}{#5}{#6}{#7}{#8}%
+ }{%
+ \@dblarg{\akk@sect{#1}{#2}{#3}{#5}{#6}{#7}{#8}}%
+ }%
+}
+
+% \akk@sect{<name>}{<ebene>}{<einzug>}{<vorabstand>}{<eingebettet?>}}{<nachabstand>}{<stil>}[<toc_eintrag>]{<label>}
+\def\akk@sect#1#2#3#4#5#6#7[#8]#9{%
+ \ifnum #2>\c@secnumdepth%
+ \let\@svsec\@empty%
+ \else%
+ \refstepcounter{#1}%
+ \protected@edef\@svsec{\@seccntformat{#1}\relax}%
+ \fi%
+ \@tempskipa #6\relax%
+ \csname @embedded#5\endcsname%
+ \if@embedded%
+ \def\@svsechd{%
+ #7{\hskip #3\relax\@svsec #9}%
+ \csname #1mark\endcsname{#8}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth%
+ \else%
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi%
+ #8%
+ }%
+ }%
+ \else%
+ \begingroup%
+ #7{%
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ \interlinepenalty \@M #9\@@par%
+ }%
+ \endgroup%
+ \csname #1mark\endcsname{#8}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth
+ \else%
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi%
+ #8%
+ }%
+ \fi%
+ \akk@xsect{#5}{#6}%
+}
+
+% \akk@ssect{<einzug>}{<einziehen?>}{<vorabstand>}{<eingebettet?>}{<nachabstand>}{<stil>}{<label>}
+\def\akk@ssect#1#2#3#4#5#6#7{%
+ \csname @embedded#4\endcsname%
+ \if@embedded%
+ \def\@svsechd{#6{\hskip #1\relax #7}}%
+ \else%
+ \begingroup%
+ #6{%
+ \@hangfrom{\hskip #1}%
+ \interlinepenalty \@M #7\@@par%
+ }%
+ \endgroup%
+ \fi%
+ \akk@xsect{#4}{#5}%
+}
+
+% \akk@xsect{<eingebettet>}{<nachabstand>}
+\def\akk@xsect#1#2{%
+ \@tempskipa #2\relax%
+ \csname @embedded#1\endcsname%
+ \if@embedded%
+ \@nobreakfalse%
+ \global\@noskipsectrue%
+ \everypar{%
+ \if@noskipsec%
+ \global\@noskipsecfalse%
+ {\setbox\z@\lastbox}%
+ \clubpenalty\@M%
+ \begingroup \@svsechd \endgroup%
+ \unskip%
+ \@tempskipa #2\relax%
+ \hskip \@tempskipa%
+ \else%
+ \clubpenalty \@clubpenalty%
+ \everypar{}%
+ \fi%
+ }%
+ \else%
+ \par \nobreak%
+ \vskip \@tempskipa%
+ \@afterheading%
+ \fi%
+ \ignorespaces%
+}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/layout/akkwidepage.sty b/macros/latex/contrib/akktex/source/akktex/layout/akkwidepage.sty
new file mode 100644
index 0000000000..6402ffb532
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/layout/akkwidepage.sty
@@ -0,0 +1,72 @@
+%=====================================================================================================================================
+% Package akkwidepage by Igor Akkerman (c) 2004, 2005
+% Package providing wide pages.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkwidepage}[2005/05/05 by Igor Akkerman (c) 2004, 2005 v1.1.1 Package providing wide pages.]
+%=====================================================================================================================================
+
+\makeatletter
+
+% Initialisierungsteil
+\RequirePackage{akkconditional}
+
+\newboolean {akk@twoside}
+
+% Deklaration von Optionen
+\DeclareOption {twoside} {\setboolean {akk@twoside} {true}}
+
+% Ausfuehrung von Optionen
+\ProcessOptions
+
+% Laden von Paketen
+
+%=====================================================================================================================================
+
+\newlength \akk@orig@oddsidemargin
+\newlength \akk@orig@evensidemargin
+\newlength \akk@orig@textwidth
+
+\newlength \akk@default@oddsidemargin
+\newlength \akk@default@evensidemargin
+\newlength \akk@default@textwidth
+
+\setlength \akk@orig@oddsidemargin \oddsidemargin
+\setlength \akk@orig@evensidemargin \evensidemargin
+\setlength \akk@orig@textwidth \textwidth
+
+\setlength \akk@default@oddsidemargin \oddsidemargin
+\setlength \akk@default@evensidemargin \evensidemargin
+\setlength \akk@default@textwidth \textwidth
+
+\ifbool{akk@twoside} {
+ \addtolength \akk@default@oddsidemargin {-3.00em}
+ \addtolength \akk@default@evensidemargin {-5.50em}
+}{
+ \addtolength \akk@default@oddsidemargin {-4.25em}
+ \addtolength \akk@default@evensidemargin {-4.25em}
+}
+\addtolength \akk@default@textwidth { 8.50em} % = 3cm at 10 pt
+
+\newcommand \akk@widepage@setorigvalues {%
+ \setlength \oddsidemargin \akk@orig@oddsidemargin%
+ \setlength \evensidemargin \akk@orig@evensidemargin%
+}
+
+\newcommand \akk@widepage@setdefaultvalues {%
+ \setlength \oddsidemargin \akk@default@oddsidemargin%
+ \setlength \evensidemargin \akk@default@evensidemargin%
+}
+
+\akk@widepage@setdefaultvalues
+\setlength \textwidth \akk@default@textwidth %textwidth can only be set in preamble
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmath.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmath.sty
new file mode 100644
index 0000000000..9655dacf3f
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmath.sty
@@ -0,0 +1,35 @@
+%=====================================================================================================================================
+% Package akkmath by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package importing all AkkTeX and AMS math packages.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmath}[2005/05/05 1.2.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package importing all AkkTeX and AMS math packages]
+%=====================================================================================================================================
+
+\DeclareOption {intlimits} {\PassOptionsToPackage{intlimits}{amsmath}}
+
+\ProcessOptions
+
+\RequirePackage[fleqn]{amsmath}
+% possible option for amsmath: intlimits
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+
+\RequirePackage{akkmathbasic}
+\RequirePackage{akkmathset}
+\RequirePackage{akkmathtext}
+\RequirePackage{akkmathrel}
+\RequirePackage{akkmathnum}
+\RequirePackage{akkmathfun}
+\RequirePackage{akkmathproof}
+\RequirePackage{akkmathdisc}
+\RequirePackage{akkmathpaper}
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathbasic.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathbasic.sty
new file mode 100644
index 0000000000..89422bfeef
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathbasic.sty
@@ -0,0 +1,51 @@
+%=====================================================================================================================================
+% Package akkmathbasic by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing basic utilities for typesetting mathematics.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathbasic}[2005/04/30 3.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing basic utilities for typesetting mathematics]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amstext}
+\RequirePackage{array}
+%----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+%------------------------------------------------------------------------------
+% Parantheses and brackets
+%------------------------------------------------------------------------------
+\renewcommand {\(} {\left(}
+\renewcommand {\)} {\right)}
+\renewcommand {\[} {\left[}
+\renewcommand {\]} {\right]}
+
+%------------------------------------------------------------------------------
+% Utilities for use within mathematical environments
+%------------------------------------------------------------------------------
+% allow a page break within amstex math formulas,
+% use \\* to prohibit a page break
+\allowdisplaybreaks[1]
+
+\newcommand \interintertext[1] {{\intertext{\hspace*{-\mathindent}\hspace*{-\mathindent}#1}}}
+
+
+%------------------------------------------------------------------------------
+% Array column types
+%------------------------------------------------------------------------------
+\newcolumntype {C} {>{\displaystyle}c}
+\newcolumntype {L} {>{\displaystyle}l}
+\newcolumntype {R} {>{\displaystyle}r}
+
+%------------------------------------------------------------------------------
+% Greek letters
+%------------------------------------------------------------------------------
+\newcommand \eps \varepsilon
+\newcommand \la \lambda
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathdisc.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathdisc.sty
new file mode 100644
index 0000000000..0822a2a408
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathdisc.sty
@@ -0,0 +1,22 @@
+%=====================================================================================================================================
+% Package akkmathdisc by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting discrete mathematics like graphs.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathdisc}[2005/04/30 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting discrete mathematics like graphs]
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+\newcommand \graphsize[1] {\left| #1 \right|}
+\newcommand \gsize[1] {\graphsize{#1}}
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathfun.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathfun.sty
new file mode 100644
index 0000000000..766f6de483
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathfun.sty
@@ -0,0 +1,34 @@
+%=====================================================================================================================================
+% Package akkmathfun by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting mathematical functions.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathfun}[2005/04/28 1.0.1 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting mathematical functions]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+% do not wrap the definitions twice {{}} because the line wrapping of the functions stops working correctly!
+
+\newcommand \sfn[2] {#1 \colon #2 \to} % function definition with short arrows
+\newcommand \sfnm[4] {\fns{#1}{#2} #3, \quad #4 \mapsto} % function definition with short arrows and mapsto
+\newcommand \sfnd[4] {\fns{#1}{#2} #3, \quad #4 \defas} % function definition with short arrows and defas
+\newcommand \fn[2] {#1 \colon #2 \longto} % function definition with long arrows
+\newcommand \fnm[4] {\fn{#1}{#2} #3, \quad #4 \longmapsto} % function definition with long arrows and mapsto
+\newcommand \fnd[4] {\fn{#1}{#2} #3, \quad #4 \defas} % function definition with long arrows and defas
+
+\newcommand \longto \longrightarrow
+
+\newcommand \id {{\operatorname{id}}}
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathnum.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathnum.sty
new file mode 100644
index 0000000000..cf40ddd5a5
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathnum.sty
@@ -0,0 +1,342 @@
+%=====================================================================================================================================
+% Package akkmathnum by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesett ing numeric elements.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathnum}[2005/04/30 1.1.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting numeric elements]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+\makeatletter
+
+%------------------------------------------------------------------------------
+% numeric utilities
+%------------------------------------------------------------------------------
+% inverse
+\providecommand \inv {^{-1}} % do not wrap twice! {{}}
+
+% inverse of argument
+\providecommand \Inv[1] {{{#1}\inv}}
+
+% faculty with text to follow
+\newcommand \fac {{!\,}}
+
+% 'divides' bar
+\newcommand \divides {{\,|\,}}
+
+\newcommand \llceil {{\left\lceil}}
+\newcommand \rrceil {{\right\rceil}}
+\newcommand \llfloor {{\left\lfloor}}
+\newcommand \rrfloor {{\right\rfloor}}
+
+\newcommand \bfrac[2] {{\frac{\displaystyle #1}{\displaystyle #2}}}
+\newcommand \sfrac[2] {{\frac{\textstyle #1}{\textstyle #2}}}
+\newcommand \bpwr[1] {^{\displaystyle #1}} % do not wrap twice! {{}}
+\newcommand \bsqrt[2][] {{\sqrt[{\displaystyle #1}]{{\displaystyle #2}}}}
+
+% the absolute value
+\newcommand \abs[1] {{|#1|}}
+\newcommand \Abs[1] {{\left|#1\right|}}
+
+% degree of a polynom
+\newcommand \grad {\operatorname{grad}}
+
+\newcommand \Rang {\operatorname{Rang}}
+\newcommand \rang {\operatorname{rang}}
+\newcommand \rg {\operatorname{rg}}
+
+\newcommand \Dim {\operatorname{Dim}}
+\newcommand \codim {\operatorname{codim}}
+\newcommand \Codim {\operatorname{Codim}}
+
+\newcommand \norm[1] {{\| #1 \|}}
+\newcommand \Norm[1] {{\left\| #1 \right\|}}
+\newcommand \normfun {{\norm{\ }}}
+
+\newcommand \scalar[2] {{\langle #1,#2 \rangle}}
+\newcommand \Scalar[2] {{\left\langle #1,#2 \right\rangle}}
+\newcommand \scalarfun {{\scalar{}{}}}
+
+
+%------------------------------------------------------------------------------
+% integrals
+%------------------------------------------------------------------------------
+\newcommand \Int {\int\limits}
+\newcommand \intt {\int\!}
+\newcommand \intd[2] {\intt\frac{d #1}{#2}}
+\newcommand \dt {\ dt}
+\newcommand \dx {\ dx}
+\newcommand \dy {\ dy}
+\newcommand \dz {\ dz}
+
+%------------------------------------------------------------------------------
+% differentials
+%------------------------------------------------------------------------------
+\newcommand \dd[1][] {\ensuremath{\mathrm d^{#1}}}
+
+% differential: \diff[<text on top of fraction bar>]{<variable>}
+\newcommand \diff[2][] {\frac{\dd {#1}}{\dd {#2}}}
+
+% multiple differential: \mdiff[<on top of fraction bar>]{<degree>}{<variable>}
+\newcommand \mdiff[3][] {\ensuremath{\frac{\dd[#2]#1}{\dd #3^{#2}}}}
+
+% multiple differential of a function (= f^{(n)}}
+\newcommand \mdif[1] {^{({#1})}}
+
+%------------------------------------------------------------------------------
+% limits
+%------------------------------------------------------------------------------
+\newcommand \alim[1] {{\lim_{{#1}\to\infty}}}
+\newcommand \aLim[1] {{\lim\limits_{{#1}\to\infty}}}
+\newcommand \alimsup[1] {{\limsup_{{#1}\to\infty}}}
+\newcommand \aLimsup[1] {{\limsup\limits_{{#1}\to\infty}}}
+\newcommand \aliminf[1] {{\liminf_{{#1}\to\infty}}}
+\newcommand \aLiminf[1] {{\liminf\limits_{{#1}\to\infty}}}
+
+\newcommand \klim {{\alim k}}
+\newcommand \kLim {{\aLim k}}
+\newcommand \klimsup {{\alimsup k}}
+\newcommand \kLimsup {{\aLimsup k}}
+\newcommand \kliminf {{\aliminf k}}
+\newcommand \kLiminf {{\aLiminf k}}
+
+\newcommand \nlim {{\alim n}}
+\newcommand \nLim {{\aLim n}}
+\newcommand \nlimsup {{\alimsup n}}
+\newcommand \nLimsup {{\aLimsup n}}
+\newcommand \nliminf {{\aliminf n}}
+\newcommand \nLiminf {{\aLiminf n}}
+
+
+\newcommand \mlim {{\alim m}}
+\newcommand \mLim {{\aLim m}}
+\newcommand \mlimsup {{\alimsup m}}
+\newcommand \mLimsup {{\aLimsup m}}
+\newcommand \mliminf {{\aliminf m}}
+\newcommand \mLiminf {{\aLiminf m}}
+
+\newcommand \plim {{\alim p}}
+\newcommand \pLim {{\aLim p}}
+\newcommand \plimsup {{\alimsup p}}
+\newcommand \pLimsup {{\aLimsup p}}
+\newcommand \pliminf {{\aliminf p}}
+\newcommand \pLiminf {{\aLiminf p}}
+
+%------------------------------------------------------------------------------
+% limits arrows
+%------------------------------------------------------------------------------
+\newcommand \upto \nearrow
+\newcommand \downto \searrow
+
+%------------------------------------------------------------------------------
+% dots
+%------------------------------------------------------------------------------
+\newcommand \plusdots {{+\cdots+}}
+\newcommand \minusdots {{-\cdots-}}
+\newcommand \pmdots {{+-\cdots+-}}
+\newcommand \dotdots {{\cdot\cdots\cdot}}
+\newcommand \timesdots {{\times\cdots\times}}
+\newcommand \eqdots {{=\cdots=}}
+\newcommand \commadots {{,\dots,}}
+\newcommand \svdots {{\parbox[b][10pt]{\widthof{\vdots}}{\vdots}}} % vertical dots for small matrix
+
+%------------------------------------------------------------------------------
+% sums and products
+%------------------------------------------------------------------------------
+\newcommand \Sum {\sum\limits}
+\newcommand \summ[3] {\sum_{{#1}={#2}}^{{#3}}}
+\newcommand \Summ[3] {\sum\limits_{{#1}={#2}}^{{#3}}}
+\newcommand \Prod {\prod\limits}
+\newcommand \prodd[3] {\prod_{{#1}={#2}}^{{#3}}}
+\newcommand \Prodd[3] {\prod\limits_{{#1}={#2}}^{{#3}}}
+
+%------------------------------------------------------------------------------
+% sequences and series
+%------------------------------------------------------------------------------
+\newcommand \seq[2] {{\({#1_{#2}}\)}}
+\newcommand \nnseq[2] {{{\({#1_{#2}}\)}_{{#2}\in\NN}}}
+\newcommand \nnnseq[2] {{\left({#1_{#2}}\right)_{{#2}\geq1}}}
+\newcommand \partseq[3] {{\folge{#1}{#2_{#3}}}}
+% the operator before the underscore should not be wrapped because a'_{ij} looks better than {a'}_{ij}
+
+\newcommand \Nsum[2] {{\summ #1 #2 N}}
+\newcommand \NSum[2] {{\Summ #1 #2 N}}
+\newcommand \Nprod[2] {{\prodd #1 #2 N}}
+\newcommand \NProd[2] {{\Prodd #1 #2 N}}
+\newcommand \isum {\sum_{i \in I}}
+\newcommand \iSum {\sum\limits_{i \in I}}
+\newcommand \iprod {\prod_{i \in I}}
+\newcommand \iProd {\prod\limits_{i \in I}}
+\newcommand \series[2] {{\summ #1 #2 \infty}}
+\newcommand \Series[2] {{\Summ #1 #2 \infty}}
+
+%------------------------------------------------------------------------------
+% complex numbers
+%------------------------------------------------------------------------------
+\newcommand \real {{\mathrm{Re}}}
+\newcommand \imag {{\mathrm{Im}}}
+\newcommand \coco[1] {\overline{#1}}
+
+\newcommand \cocofun {\coco{\phantom{o}}}
+%------------------------------------------------------------------------------
+% Vectors
+%------------------------------------------------------------------------------
+\newcommand \avec[1] {\mtx{#1}}
+\newcommand \rvec[1] {\rmtx{#1}}
+\newcommand \tvec[1] {{\textstyle\avec{#1}}}
+\newcommand \trvec[1] {{\textstyle\rvec{#1}}}
+\newcommand \dvec[1] {{\displaystyle\avec{#1}}}
+\newcommand \drvec[1] {{\displaystyle\rvec{#1}}}
+\newcommand \svec[1] {\smtx{#1}}
+
+\newcommand \lvec[3][] {\overrightarrow{#2#3}\ifset{#1}{\text{\scriptsize{\ensuremath{#1}}}}}
+\newcommand \vecfun[1][] {\lvec[#1]{\mbox{\phantom o}}{}}
+%\newcommand \vecfun {\overrightarrow{\mbox{\phantom o}}}
+
+%------------------------------------------------------------------------------
+% Matrices
+%------------------------------------------------------------------------------
+
+% matrix template
+% \akk@mtx{columntype}{matrixcontent}
+\newcommand \akk@mtx[2] {%
+ \hspace{-\arraycolsep}%
+ \begin{array}{*{\value{MaxMatrixCols}}{#1}}%
+ #2%
+ \end{array}%
+ \hspace{-\arraycolsep}%
+}
+
+% matrix with parantheses (default matrix)
+\newcommand \mtx[1] {{\left(\akk@mtx{c}{#1}\right)}}
+\newcommand \Mtx[1] {{\left(\akk@mtx{C}{#1}\right)}}
+\newcommand \lmtx[1] {{\left(\akk@mtx{l}{#1}\right)}}
+\newcommand \rmtx[1] {{\left(\akk@mtx{r}{#1}\right)}}
+\newcommand \lMtx[1] {{\left(\akk@mtx{L}{#1}\right)}}
+\newcommand \rMtx[1] {{\left(\akk@mtx{R}{#1}\right)}}
+\newcommand \smtx[1] {{\left(\begin{smallmatrix}#1\end{smallmatrix}\right)}}
+
+% matrix with nothing around (free matrix)
+\newcommand \fmtx[1] {\akk@mtx{c}{#1}}
+\newcommand \fMtx[1] {\akk@mtx{C}{#1}}
+\newcommand \lfmtx[1] {\akk@mtx{l}{#1}}
+\newcommand \rfmtx[1] {\akk@mtx{r}{#1}}
+\newcommand \lfMtx[1] {\akk@mtx{L}{#1}}
+\newcommand \rfMtx[1] {\akk@mtx{R}{#1}}
+\newcommand \sfmtx[1] {{\begin{smallmatrix}#1\end{smallmatrix}}}
+
+% matrix with brackets
+\newcommand \bmtx[1] {{\left[\akk@mtx{c}{#1}\right]}}
+\newcommand \bMtx[1] {{\left[\akk@mtx{C}{#1}\right]}}
+\newcommand \lbmtx[1] {{\left[\akk@mtx{l}{#1}\right]}}
+\newcommand \rbmtx[1] {{\left[\akk@mtx{r}{#1}\right]}}
+\newcommand \lbMtx[1] {{\left[\akk@mtx{L}{#1}\right]}}
+\newcommand \rbMtx[1] {{\left[\akk@mtx{R}{#1}\right]}}
+\newcommand \sbmtx[1] {{\left[\begin{smallmatrix}#1\end{smallmatrix}\right]}}
+
+% matrix with curly braces
+\newcommand \cbmtx[1] {{\left\lbrace\akk@mtx{c}{#1}\right\rbrace}}
+\newcommand \cbMtx[1] {{\left\lbrace\akk@mtx{C}{#1}\right\rbrace}}
+\newcommand \lcbmtx[1] {{\left\lbrace\akk@mtx{l}{#1}\right\rbrace}}
+\newcommand \rcbmtx[1] {{\left\lbrace\akk@mtx{r}{#1}\right\rbrace}}
+\newcommand \lcbMtx[1] {{\left\lbrace\akk@mtx{L}{#1}\right\rbrace}}
+\newcommand \rcbMtx[1] {{\left\lbrace\akk@mtx{R}{#1}\right\rbrace}}
+\newcommand \scbmtx[1] {{\left\lbrace\begin{smallmatrix}#1\end{smallmatrix}\right\rbrace}}
+
+% determinant of a matrix
+\newcommand \detmtx[1] {{\left\lvert\akk@mtx{c}{#1}\right\rvert}}
+\newcommand \detMtx[1] {{\left\lvert\akk@mtx{C}{#1}\right\rvert}}
+\newcommand \ldetmtx[1] {{\left\lvert\akk@mtx{l}{#1}\right\rvert}}
+\newcommand \rdetmtx[1] {{\left\lvert\akk@mtx{r}{#1}\right\rvert}}
+\newcommand \ldetMtx[1] {{\left\lvert\akk@mtx{L}{#1}\right\rvert}}
+\newcommand \rdetMtx[1] {{\left\lvert\akk@mtx{R}{#1}\right\rvert}}
+\newcommand \sdetmtx[1] {{\left\lvert\begin{smallmatrix}#1\end{smallmatrix}\right\rvert}}
+
+% norm of a matrix
+\newcommand \normmtx[1] {{\left\lVert\akk@mtx{c}{#1}\right\rVert}}
+\newcommand \normMtx[1] {{\left\lVert\akk@mtx{C}{#1}\right\rVert}}
+\newcommand \lnormmtx[1] {{\left\lVert\akk@mtx{l}{#1}\right\rVert}}
+\newcommand \rnormmtx[1] {{\left\lVert\akk@mtx{r}{#1}\right\rVert}}
+\newcommand \lnormMtx[1] {{\left\lVert\akk@mtx{L}{#1}\right\rVert}}
+\newcommand \rnormMtx[1] {{\left\lVert\akk@mtx{R}{#1}\right\rVert}}
+\newcommand \snormmtx[1] {{\left\lVert\begin{smallmatrix}#1\end{smallmatrix}\right\rVert}}
+
+% (M)1<=i<=n,1<=j<=m
+% \ijmtx {matrixelementsname}{number of rows} {number of columns} (any matrix)
+% \ijsmtx{matrixelementsname}{number of rows&columns} {square matrix)
+\newcommand \ijmtx[3] {{(#1_{ij})}_{\substack{1 \leq i \leq #2 \\ 1 \leq j \leq #3}}}
+\newcommand \ijsmtx[2] {{(#1_{ij})}_{1 \leq i,j \leq #2}}
+% the operator before the underscore should not be wrapped because a'_{ij} looks better than {a'}_{ij}
+
+\newcommand \sgn {\operatorname{sgn}}
+\newcommand \spur {\operatorname{spur}}
+\newcommand \fchar {\operatorname{char}}
+
+\newcommand \MM {{\mathcal M}}
+\newcommand \mtxset[2] {\MM(#1 \times #2; K)}
+
+\newcounter{refmtxrow}
+\newcommand \mtxrow[1] {%
+ \setcounter{refmtxrow}{#1}%
+ \mathrm{\Roman{refmtxrow}}%
+}
+
+%------------------------------------------------------------------------------
+% Linear equation systems
+%------------------------------------------------------------------------------
+% linear equation system environment
+% \begin{les}{<number of variables>}
+% ...
+% \end{les}
+% example: for
+% \begin{les}{4}
+% & 1 & 3 & 2 & -2 & 5 \\ I 1 3 2 -2 | 5
+% & -1 & 3 & -3 & -1 & 0 & +I \\ II -1 3 -3 -1 | 0 |+I
+% & 1 & 3 & 2 & -1 & 9 & -I \\ III 1 3 2 -1 | 9 |-I
+% & -1 & -3 & 0 & 2 & 1 & +I IV -1 -3 0 2 | 1 |+I
+% \end{les}
+\newcounter {lesrow}
+\newcommand \resetlesrow {\setcounter{lesrow}{-1}}
+
+\newenvironment {les}[1] {%
+ \setcounter{lesrow}{0}%
+ \begin{array}{@{}r<{\stepcounter{lesrow}\lesrow\thelesrow\ }*{#1}{r}|r>{|}l}%
+}{%
+ \end{array}%
+}
+
+\newenvironment {les*}[1] {%
+ \setcounter{lesrow}{0}\begin{array}{*{#1}{c}|r>{|}l}%
+}{%
+ \end{array}%
+}
+
+\newcommand \lesrow[1] {%
+ \mathrm{\Romannum{#1}}%
+}
+
+%------------------------------------------------------------------------------
+% array for solving equations (in displaystyle)
+%
+% format: c R c L c L
+%------------------------------------------------------------------------------
+\newenvironment{eqsolving}
+{\begin{displaymath}\begin{array}{cRcLcL}}
+{\end{array}\end{displaymath}}
+
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathpaper.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathpaper.sty
new file mode 100644
index 0000000000..856864c4e4
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathpaper.sty
@@ -0,0 +1,83 @@
+%=====================================================================================================================================
+% Package akkmathpaper by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting mathematical papers as lecture scripts.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathpaper}[2005/04/30 1.1.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting mathematical papers as lecture scripts]
+%=====================================================================================================================================
+
+\makeatletter
+
+%-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+% axiom list environment
+%
+% \begin{axiomlist}[<startindex>]{<axiomletter(s)>}
+% \item <axiom1>
+% \item <axiom2>
+% ...
+% \end{axiomlist}
+%
+% use axiomlist* for more than 9 axioms
+\newcounter{axiom}
+
+\newenvironment{axiomlist}[2][1]{%
+ \begin{list}{%
+ \textbf{(#2\arabic{axiom})}%
+ }{%
+ \renewcommand \axiomlabel {#2}%
+ \usecounter{axiom}\setcounter{axiom}{#1}\addtocounter{axiom}{-1}%
+ \setlength \itemindent {0pt}%
+ \settowidth \labelsep {\quad}%
+ \settowidth \labelwidth {\textbf{(#2#1)}}%
+ \setlength \leftmargin {\labelwidth}%
+ \addtolength \leftmargin {\labelsep}%
+ \setlength \listparindent {0pt}%
+ }%
+}{%
+ \end{list}%
+}
+
+\newenvironment {axiomlist*}[2][1] {%
+ \begin{list}{%
+ \textbf{(#2\arabic{axiom})}%
+ }{%
+ \renewcommand \axiomlabel {#2}%
+ \usecounter{axiom}\setcounter{axiom}{#1}\addtocounter{axiom}{-1}%
+ \setlength \itemindent {0pt}%
+ \settowidth \labelsep {\quad}%
+ \settowidth \labelwidth {\textbf{(#288)}}%
+ \setlength \leftmargin {\labelwidth}%
+ \addtolength \leftmargin {\labelsep}%
+ \setlength \listparindent {0pt}%
+ }%
+}{%
+ \end{list}%
+}
+
+\newcommand \axiom {%
+ \item%
+ \edef \@currentlabel {(\axiomlabel\theaxiom)}%
+}
+
+\newcommand \axiomlabel {}
+%-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+\newcommand \xlabel[2] {%
+ \edef \@currentlabel {#2}%
+ \label{#1}%
+}
+
+\newcommand \texttag[2] {%
+ \xlabel{#1}{#2}%
+ \hfill #2%
+}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty
new file mode 100644
index 0000000000..cd4af0f75a
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathproof.sty
@@ -0,0 +1,176 @@
+%=====================================================================================================================================
+% Package akkmathproof by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting mathematical proofs.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathproof}[2005/04/30 1.2.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting mathematical proofs]
+%=====================================================================================================================================
+
+\RequirePackage{ifthen}
+
+\makeatletter
+
+%------------------------------------------------------------------------------
+% Universal proof utilities
+%------------------------------------------------------------------------------
+\newcommand \akk@prooflabel {Proof}
+
+\newcommand \prooflabel[1] {\renewcommand \akk@prooflabel {#1}}
+
+\newcommand \proofendsymbol {\ensuremath{\Box}}
+
+\newboolean{proofended}
+
+\newcommand \proofend {%
+ \ifbool{mmode}{%
+ \tag*{\proofendsymbol}%
+ }{%
+ \hspace*{\fill}\proofendsymbol%
+ }%
+ \global\proofendedtrue%
+}
+
+\newenvironment{proof}{%
+ \unskip\par%
+ \textit{\textbf{\akk@prooflabel:}}\\%
+ \begin{proof*}%
+}{%
+ \end{proof*}%
+ \par%
+}
+
+\newenvironment{Proof}{%
+ \unskip\par%
+ \textit{\textbf{\akk@prooflabel:}}%
+ \begin{proof*}%
+}{%
+ \end{proof*}%
+ \par%
+}
+
+\newenvironment{proof*}{%
+ \setboolean{proofended}{false}%
+}{
+ \ifboolfalse{proofended}{%
+ \proofend%
+ }%
+}
+
+\prooflabel{Beweis}
+
+\newenvironment {beweis} {%
+ \begin{proof}%
+}{%
+ \end{proof}%
+}
+
+\newenvironment {Beweis} {%
+ \begin{Proof}%
+}{%
+ \end{Proof}%
+}
+
+%------------------------------------------------------------------------------
+% Induction environments
+%------------------------------------------------------------------------------
+\newcommand \vind[2]{\textit{Beweis mittels vollständiger Induktion über $#1$:}\\}
+\newcommand \vindende {\indende{vollständige}}
+
+\newcommand \sind {\textit{Beweis durch strukturelle Induktion:\\}}
+\newcommand \sindende {\indende{strukturelle}}
+
+\newcommand{\indanf}[2]
+{Induktionsanfang ($#1=#2$):}
+
+\newcommand{\indanfs}
+{Induktionsanfang:}
+
+\newcommand{\indvor}
+{Induktionsvoraussetzung:}
+
+\newcommand{\indschritt}
+{Induktionsschritt:}
+
+\newcommand{\indende}[1]
+{Nach dem Prinzip der #1n Induktion folgt die Behauptung.\proofend}
+
+%------------------------------------------------------------------------------
+% equivalence and set equality proofs
+%------------------------------------------------------------------------------
+\newcommand \hinsymb {\glqq$\mathbf{\Rightarrow}$\grqq}
+\newcommand \ruecksymb {\glqq$\mathbf{\Leftarrow}$\grqq}
+\newcommand \sethinsymb {\glqq$\mathbf{\subseteq}$\grqq}
+\newcommand \setruecksymb {\glqq$\mathbf{\supseteq}$\grqq}
+\newcommand \ssethinsymb {\glqq$\mathbf{\subset}$\grqq}
+\newcommand \ssetruecksymb {\glqq$\mathbf{\supset}$\grqq}
+\newcommand \hin {\hinsymb \\*[2pt]}
+\newcommand \rueck {\ruecksymb \\*[2pt]}
+\newcommand \sethin {\sethinsymb \\*[2pt]}
+\newcommand \setrueck {\setruecksymb \\*[2pt]}
+\newcommand \ssethin {\ssethinsymb \\*[2pt]}
+\newcommand \ssetrueck {\ssetruecksymb \\*[2pt]}
+
+\newenvironment{equivproof}{%
+ \begin{proof}%
+ \begin{equivproof**}%
+}{%
+ \proofend%
+ \end{equivproof**}%
+ \end{proof}%
+}
+
+\newenvironment{equivproof*}{%
+ \begin{proof*}%
+ \begin{equivproof**}%
+}{%
+ \proofend%
+ \end{equivproof**}%
+ \end{proof*}%
+}
+
+\newenvironment{equivproof**}{%
+ \renewcommand \hin {\item[\hinsymb]}%
+ \renewcommand \rueck {\item[\ruecksymb]}%
+ \begin{itemize}%
+}{%
+ \end{itemize}%
+}
+
+\newenvironment{setequalproof}{%
+ \begin{proof}%
+ \begin{setequalproof**}%
+}{%
+ \proofend%
+ \end{setequalproof**}%
+ \end{proof}%
+}
+
+\newenvironment{setequalproof*}{%
+ \begin{proof*}%
+ \begin{setequalproof**}%
+}{%
+ \proofend%
+ \end{setequalproof**}%
+ \end{proof*}%
+}
+
+\newenvironment{setequalproof**}{%
+ \renewcommand \sethin {\item[\sethinsymb]}%
+ \renewcommand \setrueck {\item[\setruecksymb]}%
+ \begin{itemize}%
+}{%
+ \end{itemize}%
+}
+
+% infer
+\newcommand \dinfer[2] {\text{$\displaystyle\infer{#1}{#2}$}}
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathrel.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathrel.sty
new file mode 100644
index 0000000000..d74825267f
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathrel.sty
@@ -0,0 +1,161 @@
+%=====================================================================================================================================
+% Package akkmathrel by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006
+% Package providing utilities for typesetting mathematical relations.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathrel}[2006/10/22 2.0.1 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Package providing utilities for typesetting mathematical relations]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+\makeatletter
+
+%------------------------------------------------------------------------------
+% Definition relations
+%------------------------------------------------------------------------------
+\newcommand \defas {:=}
+\newcommand \asdef {=:}
+\newcommand \defequiv {:\iff}
+\newcommand \equivdef {\iff:}
+
+%------------------------------------------------------------------------------
+% Aligned annotated relations
+%------------------------------------------------------------------------------
+% \ann{annotation} typesets an annotation in the annotation font
+% \annrel{relation}{annotation} typesets an annotated relation
+% \alannrel{relation}{annotation} typesets an aligned annotated relation
+% \setlength \relwidth {relwidth} defines the maximum required relation width
+% \annwidth{annotation} \/ defines the maximum required annotation width
+% \annw{annotation} /\ by the width of the specified annotation
+% \alrel{relation} align a relation within a box of the width
+% of the maximum required annotation width
+% \annfont{fontcommand} defines the font to use for annotations
+% default: \scriptsize
+%------------------------------------------------------------------------------
+\newcommand \ann[1] {%
+ {\akk@annfontsize #1}%
+}
+
+\newcommand \annrel[2] {%
+ \stackrel{\mbox{\ann{#2}}}{#1}%
+}
+
+\newcommand \alannrel[2] {%
+ \stackrel{\makebox[\akk@annwidth]{\ann{#2}}}{#1}%
+}
+
+\newcommand \annwidth[1] {%
+ \settowidth \akk@annwidth {\mbox{\ann{#1}}}%
+}
+
+\newcommand \annw[1] {%
+ \annwidth{#1}%
+}
+
+\newcommand \alrel[1] {%
+ \alannrel{#1}{}%
+}
+
+\newcommand \annfont[1] {%
+ \renewcommand \akk@annfont {#1}%
+}
+
+\newcommand \akk@annfontsize \scriptsize
+\newlength \akk@annwidth
+%------------------------------------------------------------------------------
+
+%------------------------------------------------------------------------------
+% predefined relations prepared for annotations
+%------------------------------------------------------------------------------
+\let \akk@orig@neq \neq
+\let \akk@orig@in \in
+\let \akk@orig@leq \leq
+\let \akk@orig@geq \geq
+\let \akk@orig@iff \iff
+\let \akk@orig@implies \implies
+\let \akk@orig@impliedby \impliedby
+\let \akk@orig@leadsto \leadsto
+\let \akk@orig@subset \subset
+\let \akk@orig@supset \supset
+\let \akk@orig@subseteq \subseteq
+\let \akk@orig@supseteq \supseteq
+
+\renewcommand {\=}[1][] {\annrel{=}{#1}}
+\newcommand \eq[1][] {\annrel{=}{#1}}
+\renewcommand \neq[1][] {\annrel{\akk@orig@neq}{#1}}
+\renewcommand \iff[1][] {\annrel{\akk@orig@iff}{#1}}
+\renewcommand \implies[1][] {\annrel{\akk@orig@implies}{#1}}
+\newcommand \impl[1][] {\annrel{\akk@orig@implies}{#1}}
+\renewcommand \impliedby[1][] {\annrel{\akk@orig@impliedby}{#1}}
+\newcommand \implby[1][] {\annrel{\akk@orig@impliedby}{#1}}
+\renewcommand \in[1][] {\annrel{\akk@orig@in}{#1}}
+\renewcommand \leq[1][] {\annrel{\akk@orig@leq}{#1}}
+\renewcommand \geq[1][] {\annrel{\akk@orig@geq}{#1}}
+\newcommand \lt[1][] {\annrel{<}{#1}}
+\newcommand \gt[1][] {\annrel{>}{#1}}
+\renewcommand \subset[1][] {\annrel{\akk@orig@subset}{#1}}
+\newcommand \subs[1][] {\annrel{\akk@orig@subset}{#1}}
+\renewcommand \subseteq[1][] {\annrel{\akk@orig@subseteq}{#1}}
+\newcommand \subseq[1][] {\annrel{\akk@orig@subseteq}{#1}}
+\renewcommand \supset[1][] {\annrel{\akk@orig@supset}{#1}}
+\newcommand \sups[1][] {\annrel{\akk@orig@supset}{#1}}
+\renewcommand \supseteq[1][] {\annrel{\akk@orig@supseteq}{#1}}
+\newcommand \supseq[1][] {\annrel{\akk@orig@supseteq}{#1}}
+
+\newcommand \aleq[1][] {\alannrel{=}{#1}}
+\newcommand \alneq[1][] {\alannrel{\neq}{#1}}
+\newcommand \aliff[1][] {\alannrel{\akk@orig@iff}{#1}}
+\newcommand \alimplies[1][] {\alannrel{\akk@orig@implies}{#1}}
+\newcommand \alimpl[1][] {\alannrel{\akk@orig@implies}{#1}}
+\newcommand \alimpliedby[1][] {\alannrel{\akk@orig@impliedby}{#1}}
+\newcommand \alimplby[1][] {\alannrel{\akk@orig@impliedby}{#1}}
+\newcommand \alin[1][] {\alannrel{\akk@orig@in}{#1}}
+\newcommand \alleq[1][] {\alannrel{\akk@orig@leq}{#1}}
+\newcommand \algeq[1][] {\alannrel{\akk@orig@geq}{#1}}
+\newcommand \allt[1][] {\alannrel{<}{#1}}
+\newcommand \algt[1][] {\alannrel{>}{#1}}
+\newcommand \alsubset[1][] {\alannrel{\akk@orig@subset}{#1}}
+\newcommand \alsubs[1][] {\alannrel{\akk@orig@subset}{#1}}
+\newcommand \alsubseteq[1][] {\alannrel{\akk@orig@subseteq}{#1}}
+\newcommand \alsubseq[1][] {\alannrel{\akk@orig@subseteq}{#1}}
+\newcommand \alsupset[1][] {\alannrel{\akk@orig@supset}{#1}}
+\newcommand \alsups[1][] {\alannrel{\akk@orig@supset}{#1}}
+\newcommand \alsupseteq[1][] {\alannrel{\akk@orig@supseteq}{#1}}
+\newcommand \alsupseq[1][] {\alannrel{\akk@orig@supseteq}{#1}}
+
+%------------------------------------------------------------------------------
+
+
+\newcommand \iffq[1][] {{\iff[#1] \quad}}
+\newcommand \qiff[1][] {{\quad \iff[#1]}}
+\newcommand \qqiff[1][] {{\qquad \iff[#1]}}
+\newcommand \qiffq[1][] {{\quad \iff[#1] \quad}}
+\newcommand \qqiffqq[1][] {{\qquad \iff[#1] \qquad}}
+
+\newcommand \qimplies[1][] {{\quad \implies[#1]}}
+\newcommand \qqimplies[1][] {{\qquad \implies[#1]}}
+\newcommand \qimpliesq[1][] {{\quad \implies[#1] \quad}}
+\newcommand \qqimpliesqq[1][] {{\qquad \implies[#1] \qquad}}
+
+\newcommand \qimpl[1][] {{\quad \impl[#1]}}
+\newcommand \qqimpl[1][] {{\qquad \impl[#1]}}
+\newcommand \qimplq[1][] {{\quad \impl[#1] \quad}}
+\newcommand \qqimplqq[1][] {{\qquad \impl[#1] \qquad}}
+
+\providecommand \inv {^{-1}} % inverse relation (do not wrap twice! {{}})
+\providecommand \inverse[1] {{#1}\inv} % inverse of argument
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+\makeatother
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathset.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathset.sty
new file mode 100644
index 0000000000..958a3e9d21
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathset.sty
@@ -0,0 +1,138 @@
+%=====================================================================================================================================
+% Package akkmathset by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting mathematical sets.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathset}[2005/04/30 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004 Package providing utilities for typesetting mathematical sets]
+%=====================================================================================================================================
+
+\RequirePackage{amsmath}
+\RequirePackage{amssymb}
+\RequirePackage{amstext}
+\RequirePackage{latexsym}
+%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
+\newcommand \NN {{\mathbb N}}
+\newcommand \NNN {{\NN\minuszero}}
+\newcommand \RR {{\mathbb R}}
+\newcommand \RRm {\RR^m}
+\newcommand \RRn {\RR^n}
+\newcommand \QQ {{\mathbb Q}}
+\newcommand \ZZ {{\mathbb Z}}
+\newcommand \CC {{\mathbb C}}
+\newcommand \CCm {\CC^m}
+\newcommand \CCn {\CC^n}
+\newcommand \KK {{\mathbb K}}
+\newcommand \KKm {\KK^m}
+\newcommand \KKn {\KK^n}
+\newcommand \LL {{\mathbb L}}
+\newcommand \BB {{\mathcal B}}
+\newcommand \PP {{\mathcal P}}
+\newcommand \VV {{\mathcal V}}
+
+\newcommand \CCC {{\mathcal C}}
+
+\newcommand \set[1] {\{#1\}}
+\newcommand \Set[1] {\openSet #1 \closeSet}
+\newcommand \openSet {\!\left\{\left.}
+\newcommand \closeSet {\right.\right\}\!}
+
+\newcommand \setcard[1] {{\left| #1 \right|}}
+
+% `such that' bar
+\newcommand \sth {\,|\,}
+\newcommand \Sth {\right| \left.}
+
+\newcommand \sm \setminus
+\newcommand \setcomp[1] {{\overline{{#1}}}}
+\newcommand \C[1] {{\setcomp{#1}}}
+
+\newcommand \zeroset {{\set 0}}
+\newcommand \minuszero {{\setminus\zeroset}}
+\newcommand \Minuszero {{\!\setminus\!\zeroset}}
+\newcommand \mz \minuszero
+\newcommand \Mz \Minuszero
+\newcommand \pset[1] {{\PP({#1})}}
+\newcommand \Pset[1] {{\PP\({#1}\)}}
+
+\newcommand \Abb {{\operatorname{Abb}}}
+\newcommand \mker {{\operatorname{ker}}}
+\newcommand \Ker {{\operatorname{Ker}}}
+\newcommand \Kern {{\operatorname{Kern}}}
+\newcommand \Bild {{\operatorname{Bild}}}
+\renewcommand \Im {{\operatorname{Im}}}
+\newcommand \End {{\operatorname{End}}}
+\newcommand \Eig {{\operatorname{Eig}}}
+\newcommand \Hom {{\operatorname{Hom}}}
+\newcommand \Mat {{\operatorname{Mat}}}
+\newcommand \gl {{\operatorname{GL}}}
+\newcommand \GL {{\operatorname{GL}}}
+\newcommand \mspan[1][] {{\operatorname{span}\ifset{#1}{\Set{#1}}}}
+\newcommand \Span [1][] {{\operatorname{Span}\ifset{#1}{\Set{#1}}}}
+\newcommand \erz[1] {\bigl[#1\bigr]}
+\newcommand \Erz[1] {\left[#1\right]}
+
+\newcommand \closure[1] {{\overline{{#1}}}}
+\newcommand \jset {{\set{1,\dots,j}}}
+\newcommand \kset {{\set{1,\dots,k}}}
+\newcommand \nset {{\set{1,\dots,n}}}
+\newcommand \mset {{\set{1,\dots,m}}}
+
+% big set union with limits
+\newcommand \Bigcup[1] {{\bigcup\limits_{#1}}}
+
+% big set intersection with limits
+\newcommand \Bigcap[1] {{\bigcap\limits_{#1}}}
+
+% equivalence class
+\newcommand \equivclass[2][] {{[{#2}]_{{#1}}}}
+\newcommand \eqclass[2][] {{\equivclass{1}{2}}}
+
+% quotient set
+\newcommand \quot[2] {{{#1}/\!\raisebox{-.575ex}{\ensuremath{#2}}}}
+
+% square set MxM
+\newcommand \sqset[1] {#1 \times #1}
+\newcommand \sqseta {\sqset A}
+\newcommand \sqsetb {\sqset B}
+\newcommand \sqsetc {\sqset C}
+\newcommand \sqsetcc {\sqset \CC}
+\newcommand \sqseti {\sqset I}
+\newcommand \sqsetkk {\sqset \KK}
+\newcommand \sqsetm {\sqset M}
+\newcommand \sqsetnn {\sqset \NN}
+\newcommand \sqsetqq {\sqset \QQ}
+\newcommand \sqsetr {\sqset R}
+\newcommand \sqsetrr {\sqset \RR}
+\newcommand \sqsets {\sqset S}
+\newcommand \sqsett {\sqset T}
+\newcommand \sqsetu {\sqset U}
+\newcommand \sqsetv {\sqset V}
+\newcommand \sqsetw {\sqset W}
+\newcommand \sqsetx {\sqset X}
+\newcommand \sqsety {\sqset Y}
+\newcommand \sqsetz {\sqset Z}
+\newcommand \sqsetzz {\sqset \ZZ}
+
+%------------------------------------------------------------------------------
+% families
+%------------------------------------------------------------------------------
+\newcommand \family[3] {{{\({{#1}_{#2}}\)}_{{#2} \in {#3}}}}
+\newcommand \ifam[1] {{\family{#1} i I}}
+
+%------------------------------------------------------------------------------
+% elements
+%------------------------------------------------------------------------------
+\newcommand \nin {{n\in\NN}}
+\newcommand \ninn {{n\in\NNN}}
+\newcommand \kin {{k\in\NN}}
+\newcommand \kinn {{k\in\NNN}}
+\newcommand \ini {{i\in I}}
+
diff --git a/macros/latex/contrib/akktex/source/akktex/math/akkmathtext.sty b/macros/latex/contrib/akktex/source/akktex/math/akkmathtext.sty
new file mode 100644
index 0000000000..4cab3b69cf
--- /dev/null
+++ b/macros/latex/contrib/akktex/source/akktex/math/akkmathtext.sty
@@ -0,0 +1,110 @@
+%=====================================================================================================================================
+% Package akkmathtext by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005
+% Package providing utilities for typesetting text elements within mathematic formulas.
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License (latest version).
+%
+% The latest version of this license can be found at
+% http://www.latex-project.org/lppl.txt
+%
+% This file may only be distributed together with the full 'AkkTeX' bundle.
+%=====================================================================================================================================
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{akkmathtext}[2005/05/01 1.0.0 by Igor Akkerman (c) 2000, 2001, 2002, 2003, 2004, 2005 Package providing utilities for typesetting text elements within mathematic formulas]
+%=====================================================================================================================================
+
+\newcommand \textq[1] {{\text{{#1}}\quad}}
+\newcommand \textqq[1] {{\text{{#1}}\qquad}}
+\newcommand \qtext[1] {{\quad\text{{#1}}}}
+\newcommand \qtextq[1] {{\quad\text{{#1}}\quad}}
+\newcommand \qtextqq[1] {{\quad\text{{#1}}\qquad}}
+\newcommand \qqtext[1] {{\qquad\text{{#1}}}}
+\newcommand \qqtextq[1] {{\qquad\text{{#1}}\quad}}
+\newcommand \qqtextqq[1] {{\qquad\text{{#1}}\qquad}}
+\newcommand \und {{\text{ und }}}
+\newcommand \qund {{\qtext{und }}}
+\newcommand \qundq {{\qtextq{und}}}
+\newcommand \qqund {{\qqtext{und }}}
+\newcommand \qqundq {{\qqtextq{und}}}
+\newcommand \qqundqq {{\qqtextqq{und}}}
+\newcommand \sowie {{\text{ sowie }}}
+\newcommand \qsowie {{\qtext{sowie }}}
+\newcommand \qsowieq {{\qtextq{sowie}}}
+\newcommand \qqsowie {{\qqtext{sowie }}}
+\newcommand \qqsowieq {{\qqtextq{sowie}}}
+\newcommand \qqsowieqq {{\qqtextqq{sowie}}}
+\newcommand \bzw {{\text{ bzw.~}}}
+\newcommand \qbzw {{\qtext{}}}
+\newcommand \qbzwq {{\qtextq{bzw.}}}
+\newcommand \qqbzw {{\qqtext{bzw.~}}}
+\newcommand \qqbzwq {{\qqtextq{bzw.}}}
+\newcommand \qqbzwqq {{\qqtextqq{bzw.}}}
+\newcommand \oder {{\text{ oder }}}
+\newcommand \qoder {{\qtext{oder }}}
+\newcommand \qoderq {{\qtextq{oder}}}
+\newcommand \qqoder {{\qqtext{oder }}}
+\newcommand \qqoderq {{\qqtextq{oder}}}
+\newcommand \qqoderqq {{\qqtextqq{oder}}}
+\newcommand \qdh {{\qtext{\dh}\ }}
+\newcommand \qdhq {{\qtextq{\dh}}}
+\newcommand \qqdh {{\qqtext{\dh}\ }}
+\newcommand \qqdhq {{\qqtextq{\dh}}}
+\newcommand \qqdhqq {{\qqtextqq{\dh}}}
+\newcommand \gdw {{\text{ gdw.~}}}
+\newcommand \qgdw {{\qtext{gdw.~}}}
+\newcommand \qgdwq {{\qtextq{gdw.}}}
+\newcommand \qqgdw {{\qqtext{gdw.~}}}
+\newcommand \qqgdwq {{\qqtextq{gdw.}}}
+\newcommand \qqtgdwqq {{\qqtextqq{gdw.}}}
+\newcommand \fuer {{\text{ für }}}
+\newcommand \qfuer {{\qtext{für }}}
+\newcommand \qfuerq {{\qtextq{für}}}
+\newcommand \qqfuer {{\qqtext{für }}}
+\newcommand \qqfuerq {{\qqtextq{für}}}
+\newcommand \qqfuerqq {{\qqtextqq{für}}}
+\newcommand \falle {{\text{ für alle }}}
+\newcommand \qfalle {{\qtext{für alle }}}
+\newcommand \qfalleq {{\qtextq{für alle}}}
+\newcommand \qqfalle {{\qqtext{für alle }}}
+\newcommand \qqfalleq {{\qqtextq{für alle}}}
+\newcommand \qqfalleqq {{\qqtextqq{für alle}}}
+\newcommand \fein {{\text{ für ein }}}
+\newcommand \qfein {{\qtext{für ein }}}
+\newcommand \qfeinq {{\qtextq{für ein}}}
+\newcommand \qqfein {{\qqtext{für ein }}}
+\newcommand \qqfeinq {{\qqtextq{für ein}}}
+\newcommand \qqfeinqq {{\qqtextqq{für ein}}}
+\renewcommand \mit {{\text{ mit }}}
+\newcommand \qmit {{\qtext{mit }}}
+\newcommand \qmitq {{\qtextq{mit}}}
+\newcommand \qqmit {{\qqtext{mit }}}
+\newcommand \qqmitq {{\qqtextq{mit}}}
+\newcommand \qqmitqq {{\qqtextqq{mit}}}
+\newcommand \wobei {{\text{ wobei }}}
+\newcommand \qwobei {{\qtext{wobei }}}
+\newcommand \qwobeiq {{\qtextq{wobei}}}
+\newcommand \qqwobei {{\qqtext{wobei }}}
+\newcommand \qqwobeiq {{\qqtextq{wobei}}}
+\newcommand \qqwobeiqq {{\qqtextqq{wobei}}}
+\newcommand \also {{\text{ also }}}
+\newcommand \qalso {{\qtext{also }}}
+\newcommand \qalsoq {{\qtextq{also}}}
+\newcommand \qqalso {{\qqtext{also }}}
+\newcommand \qqalsoq {{\qqtextq{also}}}
+\newcommand \qqalsoqq {{\qqtextqq{also}}}
+\newcommand \falls {{\text{falls }}}
+\newcommand \sonst {{\text{sonst}}}
+
+\newcommand \mal [4]{{\underbrace{#3#1\,#2\,#1#3}_{#4\text{-mal}}}}
+ % underbraces #3#1 #2 #1#3 with `#4-mal'
+ % example: \mal \cdot \cdots 2 n
+\newcommand \plusmal[2] {\mal + \cdots {#1} {#2}}
+\newcommand \malmal[2] {\mal \cdot \cdots {#1} {#2}}
+\newcommand \xmal[2] {\mal \times \cdots {#1} {#2}}
+%\newcommand \malmal [2]{{\underbrace{#1\cdot\,\cdots\,\cdot#1}_{#2\text{-mal}}}}
+% % underbraces #1*...*#1 with `#2-mal'
+
+\newcommand \obda {o.B.d.A.\@\xspace}
+\newcommand \Obda {O.B.d.A.\@\xspace}
+\newcommand \diffbar {{differenzierbar\@\xspace}}