texlive[60951] Master/texmf-dist: srdp-mathematik (4nov21)

commits+karl at tug.org commits+karl at tug.org
Thu Nov 4 21:42:24 CET 2021


Revision: 60951
          http://tug.org/svn/texlive?view=revision&revision=60951
Author:   karl
Date:     2021-11-04 21:42:24 +0100 (Thu, 04 Nov 2021)
Log Message:
-----------
srdp-mathematik (4nov21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/srdp-mathematik/README.txt
    trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.pdf
    trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.tex
    trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-mathematik.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-tables.sty

Modified: trunk/Master/texmf-dist/doc/latex/srdp-mathematik/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/srdp-mathematik/README.txt	2021-11-04 20:42:08 UTC (rev 60950)
+++ trunk/Master/texmf-dist/doc/latex/srdp-mathematik/README.txt	2021-11-04 20:42:24 UTC (rev 60951)
@@ -2,9 +2,9 @@
 
                 The
           srdp-mathematik package
-               v1.9.0
+               v1.9.1
 
-            2021/03/29
+            2021/11/04
 ___________________________________
 
 Maintainer: Christoph Weberndorfer

Modified: trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.tex	2021-11-04 20:42:08 UTC (rev 60950)
+++ trunk/Master/texmf-dist/doc/latex/srdp-mathematik/srdp-mathematik.tex	2021-11-04 20:42:24 UTC (rev 60951)
@@ -55,7 +55,7 @@
 
 \vfill
 
-\Huge The \textit{srdp-mathematik} package v1.9.0\\[1cm]
+\Huge The \textit{srdp-mathematik} package v1.9.1\\[1cm]
 
 Documentation \\ [1cm]
 
@@ -120,113 +120,63 @@
 (ohne Seitenumbruch) geschrieben werden. Die Spalte mit den Punkten wird dabei 
 immer frei gehalten. Aber auch mathematische Formeln sind möglich:
 $\frac{x^2+x+5}{\sqrt{x^3}}$
-
-
 \end{beispiel}
-
-
-\vspace{1cm}
-
-\subsubsection{\texttt{\textbackslash begin\{langesbeispiel\} \ldots\ \textbackslash end\{langesbeispiel\}}}
-
-Die \texttt{langesbeispiel}-Umgebung dient ebenso zur Erstellung eines Beispiels, funktioniert analog, erlaubt aber im Gegensatz zur \texttt{beispiel}-Umgebung Seitenumbrüche. Auch lange Beispiele werden weiterführend nummeriert.
-
-\leer
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\begin{langesbeispiel} \item[8] %PUNKTE DES BEISPIELS
-
-In diesen Bereich kommt das Beispiel und funktioniert praktisch analog zur
-beispiel-Umgebung. Ist das Beispiel jedoch länger als eine Seite (z.B bei 
-Typ-2 Aufgaben), werden Seitenumbrüche automatisch gemacht. Auch hier sind
-mathematische Formeln möglich:
-$\frac{x^2+x+5}{\sqrt{x^3}}$.		
-
-\end{langesbeispiel}
-
-\end{verbatim}
-
-
-\textsc{Ausgabe:}
-
-\begin{langesbeispiel} \item[8] %PUNKTE DES BEISPIELS
-
-In diesen Bereich kommt das Beispiel und funktioniert praktisch analog zur beispiel-Umgebung. Ist das Beispiel jedoch länger als eine Seite (z.B bei Typ-2 Aufgaben), werden Seitenumbrüche automatisch gemacht. Auch hier sind mathematische Formeln möglich:
-$\frac{x^2+x+5}{\sqrt{x^3}}$.		
-
-\end{langesbeispiel}
-
-
-
-\subsubsection{\texttt{\textbackslash notenschluessel}}
-
-Werden für alle Beispiele die \texttt{beispiel}- oder die \texttt{langesbeispiel}-Umgebung verwendet, wird die Gesamtpunktezahl sowie der Notenschlüssel automatisch berechnet. Die Werte in Klammer geben dabei den prozentualen Notenschlüssel vor und können beliebig variiert werden:
-
-\vspace{0.4cm}
-\setcounter{punkte}{48}
- 
-
-\vspace{0.3cm}
-
-\textsc{Ausgabe:}
-\notenschluessel{0.91}{0.8}{0.64}{0.5}
-\vfill
- 
-Der Befehl \texttt{notenschluessel} bietet auch die Eingabe von drei unterschiedlichen Optionen, die alle einzeln oder gemeinsam verwendet werden können. Wichtig: Wird Option 3 benötigt (jedoch Option 1 \& 2 nicht) müssen die Optionen 1 \& 2 jeweils mit leerer Klammer \texttt{[]} angegeben werden.  
-
-\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 1: Halbe Punkte-Schritte}
-
-Durch die Option 1 \texttt{[1/2]} wird die Anzeige auf halbe Punkte-Schritten geändert.
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
-
-
-\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 2: Prozentanzeige}
-
-Die Option 2 \texttt{[prozent]} ergänzt die erste Zeile des Notenschlüssel mit einer prozentuellen Angabe.
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\notenschluessel[][prozent]{0.91}{0.8}{0.64}{0.5}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-\notenschluessel[][prozent]{0.91}{0.8}{0.64}{0.5}
-
-\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 3: Standard der Mittelschule}
-
-Die option 3 \texttt{ms} ermöglicht die Darstellung des Notenschlüssels entsprechend des Standards der Mittelschule.
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\notenschluessel[][][ms]{0.91}{0.8}{0.64}{0.5}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-\notenschluessel[][][ms]{0.91}{0.8}{0.64}{0.5} 
-
-%\paragraph{Notenschlüssel - Ohne Prozentangabe}
-%Analog zum \texttt{notenschluessel} funktioniert auch der Befehl \texttt{notenschluesselop}. Es wird dabei jedoch die Prozentspalte nicht angezeigt. 
 %
+%%
+%\vspace{1cm}
+%
+%\subsubsection{\texttt{\textbackslash begin\{langesbeispiel\} \ldots\ \textbackslash end\{langesbeispiel\}}}
+%
+%Die \texttt{langesbeispiel}-Umgebung dient ebenso zur Erstellung eines Beispiels, funktioniert analog, erlaubt aber im Gegensatz zur \texttt{beispiel}-Umgebung Seitenumbrüche. Auch lange Beispiele werden weiterführend nummeriert.
+%
+%\leer
+%
 %\textsc{Eingabe:}
 %\begin{verbatim}
-%\notenschluesselop{0.91}{0.8}{0.64}{0.5}
+%\begin{langesbeispiel} \item[8] %PUNKTE DES BEISPIELS
+%
+%In diesen Bereich kommt das Beispiel und funktioniert praktisch analog zur
+%beispiel-Umgebung. Ist das Beispiel jedoch länger als eine Seite (z.B bei 
+%Typ-2 Aufgaben), werden Seitenumbrüche automatisch gemacht. Auch hier sind
+%mathematische Formeln möglich:
+%$\frac{x^2+x+5}{\sqrt{x^3}}$.		
+%
+%\end{langesbeispiel}
+%
 %\end{verbatim}
+
+
+%\textsc{Ausgabe:}
 %
+%\begin{langesbeispiel} \item[8] %PUNKTE DES BEISPIELS
+%
+%In diesen Bereich kommt das Beispiel und funktioniert praktisch analog zur beispiel-Umgebung. Ist das Beispiel jedoch länger als eine Seite (z.B bei Typ-2 Aufgaben), werden Seitenumbrüche automatisch gemacht. Auch hier sind mathematische Formeln möglich:
+%$\frac{x^2+x+5}{\sqrt{x^3}}$.		
+%
+%\end{langesbeispiel}
+%
+%
+%
+%\subsubsection{\texttt{\textbackslash notenschluessel}}
+%
+%Werden für alle Beispiele die \texttt{beispiel}- oder die \texttt{langesbeispiel}-Umgebung verwendet, wird die Gesamtpunktezahl sowie der Notenschlüssel automatisch berechnet. Die Werte in Klammer geben dabei den prozentualen Notenschlüssel vor und können beliebig variiert werden:
+%
+%\vspace{0.4cm}
+%\setcounter{punkte}{48}
+% 
+%
+%\vspace{0.3cm}
+%
 %\textsc{Ausgabe:}
 %\notenschluessel{0.91}{0.8}{0.64}{0.5}
-
-%\paragraph{Notenschlüssel - Option: [1/2]}
+%\vfill
+% 
+%Der Befehl \texttt{notenschluessel} bietet auch die Eingabe von drei unterschiedlichen Optionen, die alle einzeln oder gemeinsam verwendet werden können. Wichtig: Wird Option 3 benötigt (jedoch Option 1 \& 2 nicht) müssen die Optionen 1 \& 2 jeweils mit leerer Klammer \texttt{[]} angegeben werden.  
 %
-%Die Option 1/2 ermöglicht die Anzeige des Notenschlüssel (mit oder ohne Prozentspalte) mit halben Punkten. 
+%\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 1: Halbe Punkte-Schritte}
 %
+%Durch die Option 1 \texttt{[1/2]} wird die Anzeige auf halbe Punkte-Schritten geändert.
+%
 %\textsc{Eingabe:}
 %\begin{verbatim}
 %\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
@@ -234,933 +184,981 @@
 %
 %\textsc{Ausgabe:}
 %\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
+%
+%
+%\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 2: Prozentanzeige}
+%
+%Die Option 2 \texttt{[prozent]} ergänzt die erste Zeile des Notenschlüssel mit einer prozentuellen Angabe.
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\notenschluessel[][prozent]{0.91}{0.8}{0.64}{0.5}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%\notenschluessel[][prozent]{0.91}{0.8}{0.64}{0.5}
+%
+%\subsubsection*{\texttt{\textbackslash notenschluessel} -- Option 3: Standard der Mittelschule}
+%
+%Die option 3 \texttt{ms} ermöglicht die Darstellung des Notenschlüssels entsprechend des Standards der Mittelschule.
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\notenschluessel[][][ms]{0.91}{0.8}{0.64}{0.5}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%\notenschluessel[][][ms]{0.91}{0.8}{0.64}{0.5} 
+%
+%%\paragraph{Notenschlüssel - Ohne Prozentangabe}
+%%Analog zum \texttt{notenschluessel} funktioniert auch der Befehl \texttt{notenschluesselop}. Es wird dabei jedoch die Prozentspalte nicht angezeigt. 
+%%
+%%\textsc{Eingabe:}
+%%\begin{verbatim}
+%%\notenschluesselop{0.91}{0.8}{0.64}{0.5}
+%%\end{verbatim}
+%%
+%%\textsc{Ausgabe:}
+%%\notenschluessel{0.91}{0.8}{0.64}{0.5}
+%
+%%\paragraph{Notenschlüssel - Option: [1/2]}
+%%
+%%Die Option 1/2 ermöglicht die Anzeige des Notenschlüssel (mit oder ohne Prozentspalte) mit halben Punkten. 
+%%
+%%\textsc{Eingabe:}
+%%\begin{verbatim}
+%%\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
+%%\end{verbatim}
+%%
+%%\textsc{Ausgabe:}
+%%\notenschluessel[1/2]{0.91}{0.8}{0.64}{0.5}
+%
+%\subsubsection{\texttt{\textbackslash beurteilungsraster}}
+%
+%Der Befehl \texttt{beurteilungsraster} entspricht der aktuellen Vorgabe der Beurteilung der standardisierten Reifeprüfung (Stand 2019). Dabei müssen die Punkte für Teil 1, Ausgleichspunkte und Teil 2 angegeben werden. Die in Klammer angegebenen Werte entsprechen der bei der Reifeprüfung verwendeten prozentuellen Notenverteilung, können jedoch jederzeit verändert werden. \leer  
+%
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\beurteilungsraster{0.85}{0.68}{0.5}{1/3}{ % Prozentschluessel
+%				T1={24}, 				% Punkte im Teil 1  
+%				AP={4}, 				% Ausgleichspunkte aus Teil 2  
+%				T2={20}, 				% Punkte im Teil 2
+%				} 
+%
+%\end{verbatim}
+%\textsc{Ausgabe:}\leer
+%
+%siehe nächste Seite \newpage
+%
+%
+%\beurteilungsraster{0.85}{0.68}{0.5}{1/3}{ % Prozentschluessel
+%				T1={24}, 				% Punkte im Teil 1  
+%				AP={4}, 				% Ausgleichspunkte aus Teil 2  
+%				T2={20}, 				% Punkte im Teil 2
+%				}
+%
+%\newpage
+%
+%\subsection{Paketoption -- Lösungseingabe: \texttt{[solution\_on/off]}}
+%
+%Es besteht die Möglichkeit, die Lösung in der erstellten \texttt{tex}-Datei zu implementieren und diese bei Bedarf in der \texttt{PDF}-Datei ein- bzw. auszublenden. Um diese Funktion nutzen zu können, muss die \texttt{solution\_on/off} Option im \texttt{srdp-mathematik}-Paket geladen werden. Diese kann durch hinzufügen durch "`\texttt{solution\_on}"' bzw. "`\texttt{solution\_off}"' aktiviert bzw. deaktiviert werden. Also:
+%
+%\begin{verbatim}
+%\usepackage[solution_on]{srdp-mathematik}
+%\end{verbatim}
+%
+%oder
+%
+%\begin{verbatim}
+%\usepackage[solution_off]{srdp-mathematik}
+%\end{verbatim}
+%
+%
+%Die korrekte Lösungseingabe der vorformatierten Typ-1-Aufgaben wird bei den entsprechenden Befehlen direkt erklärt. Unabhängig davon, gibt es die Möglichkeit mithilfe des \texttt{antwort}-Befehls, beliebige Abschnitte als \textit{Antwort} zu deklarieren. (verwendeter counter: \texttt{Antworten=0, 1})   
+%
+%
+%\subsubsection{\texttt{\textbackslash antwort}}
+%Für offene Antworten kann der \texttt{\textbackslash antwort\{\}}-Befehl verwendet werden. Darin können Textpassagen, mathematische Formeln oder Grafiken angegeben werden, die ausschließlich bei aktivierter Lösung (\texttt{[solution\_on]}) und in \textcolor[rgb]{1,0,0}{rot} angegeben werden. \leer
+%
+%
+%\subsubsection*{\texttt{\textbackslash antwort} -- Option: Anzeige nur bei \texttt{solution\_off}}
+%
+%Der \texttt{antwort}-Befehl erlaubt ein optionales Argument. Es können dadurch zusätzliche Textpassagen angegeben werden, die \underline{ausschließlich} angezeigt werden, wenn die Lösungsanzeige deaktiviert (\texttt{[solution\_off])} ist. Das heißt: \leer
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\antwort[Optionale Eingabe, die nur angezeigt wird, wenn 'solution_off' gewählt 
+%wird.]
+%{Dies ist die notwendige Angabe und wird in rot angezeigt und nur wenn 
+%'solution_on' eingestellt ist.}  
+%\end{verbatim}
+%
+%
+%\textsc{Ausgabe}, wenn \texttt{\textbackslash usepackage[solution\_off]\{srdp-mathematik\}} eingestellt ist: \\
+%
+%\setcounter{Antworten}{0}
+%\antwort[Optionale Eingabe, die nur angezeigt wird, wenn \texttt{'solution\_off'} gewählt wird.]
+%{Dies ist die notwendige Angabe und wird in rot angezeigt und nur wenn 
+%\textttt{'solution\_on'} eingestellt ist.}
+%\leer
+%
+%\textsc{Ausgabe}, wenn \texttt{\textbackslash usepackage[solution\_on]\{srdp-mathematik\}} eingestellt ist:\\
+%
+%\setcounter{Antworten}{1}
+%\antwort[Optionale Eingabe, die nur angezeigt wird, wenn \texttt{'solution\_off'} gewählt wird.]
+%{Dies ist die notwendige Eingabe und wird in rot angezeigt und nur wenn 
+%\texttt{'solution\_on'} eingestellt ist.}
+%
+%
+%\subsection{Paketoption -- Erstellung von Gruppen: \texttt{[random=0,1,2,\ldots]}}
+%Das \texttt{srdp-mathematik}-Paket ermöglicht auch die automatische Erstellung von Gruppen für Schularbeiten, durch Vertauschung der Antwortmöglichkeiten aller Typ-1-Aufgaben. Dazu kann die \texttt{random}-Option im \texttt{srdp-mathematik}-Paket eingebunden geladen werden. Also:
+%
+%\begin{verbatim}
+%\usepackage[random=0]{srdp-mathematik}
+%\end{verbatim}
+%
+%oder
+%
+%\begin{verbatim}
+%\usepackage[random=1]{srdp-mathematik}
+%\end{verbatim}
+%
+%usw.
+%
+%Die Zahl "`0"' bedeutet dabei, dass keine Vertauschung stattfindet und somit die Antwortmöglichkeiten in der Reihenfolge angezeigt werden, in der sie in der \texttt{tex}-Datei eingegeben wurden. 
+%
+%Durch das Ersetzen der Zahl "`0"' durch die Zahlen $1, 2, 3, \ldots$ (und anschließendem Kompilieren) werden die Antwortmöglichkeiten bei \textbf{allen} Typ1-Formaten der Datei in einer zufälligen Reihenfolge vertauscht. Es können somit in kurzer Zeit mehrere Gruppen der selben Schularbeit erstellt werden. Die eingegebenen Lösungen werden gleichermaßen übernommen. \leer
+%
+%Die Erstellung der Gruppen ist dabei reproduzierbar. Die Reihenfolge der Antwortmöglichkeiten einer Gruppe bleibt daher immer gleich. Mithilfe des Befehls \texttt{\textbackslash Gruppe} kann die Gruppennummer innerhalb der \texttt{PDF}-Datei (z.B. am Deckblatt) angezeigt werden. (verwendeter counter: \texttt{Zufall=0, 1, 2, \ldots})
+%
+%
+%
+%\subsection{Paketoption -- Informationseingabe: \texttt{[info\_on/off]}}
+%Es ist darüber hinaus möglich zusätzliche Informationen (Erläuterungen, Hilfestellungen, \ldots) hinzuzufügen und einzublenden. Dazu kann die Option \texttt{info\_on/off} im \texttt{srdp-mathematik}-Paket eingebunden werden. Die Infos werden in \textcolor[rgb]{0,0,1}{blau} angegeben und nur dann angezeigt, wenn die Option \texttt{info\_on} gewählt wurde (verwendeter counter: \texttt{info=0,1}). Also:
+%
+%
+%\begin{verbatim}
+%\usepackage[info_on]{srdp-mathematik}
+%\end{verbatim}
+%
+%oder
+%
+%\begin{verbatim}
+%\usepackage[info_off]{srdp-mathematik}
+%\end{verbatim}
+%
+%				
+%\subsection{Weitere allgemeine Befehle}
+%Außerdem gibt es noch weitere Befehle, die die Formatierung erleichtern. 
+%
+%\subsubsection{\texttt{\textbackslash leer}}
+%Eine Leerzeile, etwa zwischen zwei Beispielen. \\
+%(Nach dem Befehl \texttt{\textbackslash leer} muss in der \texttt{.tex}-Datei ein Leerzeile eingefügt werden!) 
+%
+%\leer
+%
+%\subsubsection{\texttt{\textbackslash meinlr}}
+%\begin{verbatim}
+%\meinlr{Dieser Teil steht links. Wenn dieser Text länger sein sollte, 
+%geht er automatisch in der nächsten Zeile weiter ohne auf die andere 
+%Seite über zu gehen.}{Dieser Teil steht rechts.}
+%\end{verbatim}
+%Teilt die Seite in zwei gleich große Seiten. 
+%
+%\leer
+%
+%\textsc{Ausgabe:}
+%
+%\meinlr{Dieser Teil steht links. Wenn dieser Text länger sein sollte, 
+%geht er automatisch in der nächsten Zeile weiter ohne auf die andere 
+%Seite über zu gehen.}{Dieser Teil steht rechts.}
+%
+%
+%\subsubsection*{\texttt{\textbackslash meinlr} -- Option: Variable Spaltenbreiten}
+%
+%Der Befehl \texttt{\textbackslash meinlr} erlaubt durch die optionale Eingabe eine Abänderung der beiden Spaltenbreiten. Durch die Eingabe zwischen ca. -0.3 und 0.3 kann die Spaltenmitte nach links oder rechts verschoben und somit die Spaltenbreite variiert werden.
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%\meinlr[-0.15]{Mit einem negativen Wert wird die linke Spalte verkleinert.}
+%{Die rechte Spalte wird damit automatisch vergrößert. Dadurch ist es möglich, 
+%die Spaltenbreiten nach Belieben zu variieren.}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%
+%\meinlr[-0.15]{Mit einem negativen Wert wird die linke Spalte verkleinert.}
+%{Die rechte Spalte wird damit automatisch vergrößert. Dadurch ist es möglich, 
+%die Spaltenbreiten nach Belieben zu variieren.}
+%
+%\leer
+%
+%\subsubsection{\texttt{\textbackslash meinlcr}}
+%\begin{verbatim}
+%\meinlcr{Text ganz links}{Text in der Mitte. Auch hier sind längere Texte
+%möglich.}{Text auf der rechten Seite.}
+%\end{verbatim}
+%Teilt die Seite in drei gleich große Teile
+%
+%\leer
+%
+%\textsc{Ausgabe:}
+%
+%\meinlcr{Text ganz links. Was passiert hier wenn dieser Teil länger ist?}{Text in der Mitte. Auch hier sind längere Texte möglich.}{Text auf der rechten Seite.}
+%
+%
+%\subsubsection{\texttt{\textbackslash dint} und \texttt{\textbackslash dx}}
+%Die Befehle \texttt{\textbackslash dint} und \texttt{\textbackslash dx} vereinfacht die Eingabe eines Integrals (bestimmt oder unbestimmt).\leer
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%$\dint_1^3 x^2 \dx$ 
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}\leer
+%
+%$\dint_1^3 x^2 \dx$ 
+%\leer
+%
+%Wird eine Variable ungleich $x$ integriert, kann diese mithilfe der Option \texttt{\textbackslash{dx[Variable]}} dargestellt werden.\leer
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%$\dint t^2 \dx[t]$ 
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}\leer
+%
+%$\dint t^2 \dx[t]$
+%
+%\subsubsection{\texttt{\textbackslash degre}}
+%
+%Der \texttt{\textbackslash degre} Befehl stellt das Einheitszeichen für Grad dar. Er kann im Text- und im Mathematik-Modus verwendet werden.
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%Der Winkel Alpha ist 30\degre. ($\alpha = 30 \degre$)
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}\leer
+%
+%Der Winkel Alpha ist 30\degre. ($\alpha = 30 \degre$)
+%
+%
+%\section{Typ-1-Aufgaben}
+%
+%Das \texttt{srdp-mathematik}-Paket ermöglicht die Verwendung vorgefertigter Aufgabenformate, die bei der österreichischen, standardisierten Reifeprüfung Anwendung finden.
+%
+%
+%\subsection{\texttt{\textbackslash multiplechoice}}
+%
+%Dieser Befehl liefert eine vollständige Formatierung für eine Multiplechoice-Aufgabe. Die Anzahl der Antwortmöglichkeiten kann dabei frei (max. 9) gewählt werden. Als Standard ist dabei das Format mit fünf Antwortmöglichkeiten eingestellt. \leer
+%
+%Die korrekten Antworten der Multiplechoice-Aufgabe werden dabei bei A1, A2, \ldots, A5 angegeben. Sollte beispielsweise die 1., die 4. und 5. Antwortmöglichkeit korrekt sein, muss je eine "`0"' durch 1, 4, und 5 ersetzt werden -- Die Reihenfolge dabei ist nicht relevant. Also: \\
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Hier},   %1. Antwortmoeglichkeit 
+%				L2={werden},   %2. Antwortmoeglichkeit
+%				L3={die möglichen},   %3. Antwortmoeglichkeit
+%				L4={Antworten},   %4. Antwortmoeglichkeit
+%				L5={eingetragen},	 %5. Antwortmoeglichkeit
+%				L6={},	 %6. Antwortmoeglichkeit
+%				L7={},	 %7. Antwortmoeglichkeit
+%				L8={},	 %8. Antwortmoeglichkeit
+%				L9={},	 %9. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=1,  % 1. Antwort
+%				A2=4,	 % 2. Antwort
+%				A3=5,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}\vspace{0.2cm}
+%
+%\begin{minipage}{8cm}
+%\setcounter{Antworten}{0}
+%mit \texttt{\textbackslash setcounter\{Antworten\}\{0\}}:
+%\begin{center}
+%\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Hier},   %1. Antwortmoeglichkeit 
+%				L2={werden},   %2. Antwortmoeglichkeit
+%				L3={die möglichen},   %3. Antwortmoeglichkeit
+%				L4={Antworten},   %4. Antwortmoeglichkeit
+%				L5={eingetragen},	 %5. Antwortmoeglichkeit
+%				L6={},	 %6. Antwortmoeglichkeit
+%				L7={},	 %7. Antwortmoeglichkeit
+%				L8={},	 %8. Antwortmoeglichkeit
+%				L9={},	 %9. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=1,  % 1. Antwort
+%				A2=4,	 % 2. Antwort
+%				A3=5,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%\end{center}
+%\end{minipage} \hfill 
+%\begin{minipage}{8cm}
+%mit \texttt{\textbackslash setcounter\{Antworten\}\{1\}}:
+%\setcounter{Antworten}{1}
+%\begin{center}
+%\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Hier},   %1. Antwortmoeglichkeit 
+%				L2={werden},   %2. Antwortmoeglichkeit
+%				L3={die möglichen},   %3. Antwortmoeglichkeit
+%				L4={Antworten},   %4. Antwortmoeglichkeit
+%				L5={eingetragen},	 %5. Antwortmoeglichkeit
+%				L6={},	 %6. Antwortmoeglichkeit
+%				L7={},	 %7. Antwortmoeglichkeit
+%				L8={},	 %8. Antwortmoeglichkeit
+%				L9={},	 %9. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=1,  % 1. Antwort
+%				A2=4,	 % 2. Antwort
+%				A3=5,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%\end{center}
+%\end{minipage}
+%
+%\leer
+%
+%Die Zahl in eckigen Klammern gibt dabei die gewünschte Anzahl von Antwortmöglichkeiten an. Somit sind beispielsweise drei oder sieben Antwortmöglichkeiten einstellbar. \leer
+%
+%Wichtig zu erwähnen ist dabei, dass ausschließlich die Zahl in eckigen Klammern die Anzahl der Antwortmöglichkeiten angibt. Werden anschließend zu wenige oder zu viele Antwortmöglichkeiten angegeben, werden Leerzeilen erzeugt oder die Eingabe wird in der Ausgabe nicht berücksichtigt. 
+%
+%\leer
+%
+%\textsc{Eingabe:} \setcounter{Antworten}{0}
+%\begin{verbatim}
+%\multiplechoice[3]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Durch die 3},   %1. Antwortmoeglichkeit 
+%				L2={in eckigen Klammern, werden},   %2. Antwortmoeglichkeit
+%				L3={3 Antworten angezeigt},   %3. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=0,  % 1. Antwort
+%				A2=0,	 % 2. Antwort
+%				A3=0,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%\end{verbatim}
+%\leer
+%
+%\textsc{Ausgabe:}\leer
+%
+%\multiplechoice[3]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Durch die 3},   %1. Antwortmoeglichkeit 
+%				L2={in eckigen Klammern, werden},   %2. Antwortmoeglichkeit
+%				L3={3 Antworten angezeigt},   %3. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=0,  % 1. Antwort
+%				A2=0,	 % 2. Antwort
+%				A3=0,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%\multiplechoice[7]{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Das Gleiche}, %1. Antwort 
+%				L2={passiert beim Eintragen von}, %2. Antwort
+%				L3={sieben Möglichkeiten.}, %3. Antwort
+%				L4={Dabei werden immer 7 Antworten}, %4. Antwort
+%				L5={angezeigt, unabhängig ob sie ausgefüllt},	 %5. Antwort
+%				L6={sind oder nicht!},	 %6. Antwort
+%				L7={},	 %7. Antwort
+%				L8={},	 %8. Antwort
+%				L9={},	   %9. Antwort
+%				%% LOESUNG: %%
+%				A1=0,  % 1. Antwort
+%				A2=0,	 % 2. Antwort
+%				A3=0,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%\end{verbatim}
+%
+%\leer
+%
+%\textsc{Ausgabe:}
+%
+%\multiplechoice[7]{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={Das Gleiche}, %1. Antwort 
+%				L2={passiert beim Eintragen von}, %2. Antwort
+%				L3={sieben Möglichkeiten.}, %3. Antwort
+%				L4={Dabei werden immer 7 Antworten}, %4. Antwort
+%				L5={angezeigt, unabhängig ob sie ausgefüllt},	 %5. Antwort
+%				L6={sind oder nicht!},	 %6. Antwort
+%				L7={},	 %7. Antwort
+%				L8={},	 %8. Antwort
+%				L9={},	   %9. Antwort
+%				%% LOESUNG: %%
+%				A1=0,  % 1. Antwort
+%				A2=0,	 % 2. Antwort
+%				A3=0,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%				
+%
+%\newpage
+%
+%Die Eingabe in eckiger Klammer ist dabei optional. Wird sie nicht angegeben, wird der Standard von 5 angenommen. 
+%
+%\leer
+%
+%
+%
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\multiplechoice{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={In diesem}, %1. Antwort 
+%				L2={Fall wird der}, %2. Antwort
+%				L3={Standard von}, %3. Antwort
+%				L4={fünf Antwortmöglichkeiten}, %4. Antwort
+%				L5={angenommen},	 %5. Antwort
+%				L6={},	 %6. Antwort
+%				L7={},	 %7. Antwort
+%				L8={},	 %8. Antwort
+%				L9={}	   %9. Antwort
+%				}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%
+%\multiplechoice{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={In diesem}, %1. Antwort 
+%				L2={Fall wird der}, %2. Antwort
+%				L3={Standard von}, %3. Antwort
+%				L4={fünf Antwortmöglichkeiten}, %4. Antwort
+%				L5={angenommen},	 %5. Antwort
+%				L6={},	 %6. Antwort
+%				L7={},	 %7. Antwort
+%				L8={},	 %8. Antwort
+%				L9={}	   %9. Antwort
+%				}
+%
+%\leer
+%\newpage
+%
+%\subsubsection{Add-on: \texttt{\textbackslash langmultiplechoice}}
+%
+%Der \texttt{langmultiplechoice}-Befehl ist analog zum \texttt{multiplechoice}-Befehl zu verwenden. Der Unterschied besteht darin, dass Antwortmöglichkeiten auf zwei Spalten aufgeteilt werden. Dies ist vor allem dann sinnvoll, wenn Geogebra-Grafiken importiert werden, um eine bessere Lesbarkeit zu ermöglichen.
+%
+%\langmultiplechoice[6]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
+%				L1={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$C$}}
+%\end{scriptsize}
+%\end{pspicture*}}},   %1. Antwortmoeglichkeit 
+%				L2={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$C$}}
+%\end{scriptsize}
+%\end{pspicture*}}},   %2. Antwortmoeglichkeit
+%				L3={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$C$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$B$}}
+%\end{scriptsize}
+%\end{pspicture*}}},   %3. Antwortmoeglichkeit
+%				L4={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$C$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$A$}}
+%\end{scriptsize}
+%\end{pspicture*}}},   %4. Antwortmoeglichkeit
+%				L5={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$C$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$B$}}
+%\end{scriptsize}
+%\end{pspicture*}}},	 %5. Antwortmoeglichkeit
+%				L6={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$C$}}
+%\end{scriptsize}
+%\end{pspicture*}}},	 %6. Antwortmoeglichkeit
+%				L7={},	 %7. Antwortmoeglichkeit
+%				L8={},	 %8. Antwortmoeglichkeit
+%				L9={},	 %9. Antwortmoeglichkeit
+%				%% LOESUNG: %%
+%				A1=0,  % 1. Antwort
+%				A2=0,	 % 2. Antwort
+%				A3=0,  % 3. Antwort
+%				A4=0,  % 4. Antwort
+%				A5=0,  % 5. Antwort
+%				}
+%
+%
+%\newpage
+%
+%\subsection{\texttt{\textbackslash lueckentext}}
+%Dieser Befehl dient zur Erstellung eines Lückentexts, basierend auf dem standardisierten Format des BIFIE. Der einleitenden Satz: \textit{"`Ergänze die Textlücken im folgenden Satz durch Ankreuzen der jeweils richtigen Satzteile so, dass eine mathematisch korrekte Aussage entsteht!"'} wird als Standard angenommen und automatisch angegeben. Im Bereich \texttt{\textbackslash text=\{\}} wird der Lückentext angegeben, wobei die Lücken immer mit \texttt{\textbackslash gap} eingefügt werden und automatisch nummeriert werden. Analog zu den Lösungsangaben der Multiplechoice-Aufgabe, werden die korrekten Antworten bei A1, A2 oder A3 mit 1,2 oder 3 angegeben. (hier: Lösung links: 3 und rechts: 2)
+%\vspace{0.35cm}
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\lueckentext{
+%				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
+%die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
+%				L1={Hier schreibt}, 		%1.Moeglichkeit links  
+%				L2={man die Antwortmöglichkeiten}, 		%2.Moeglichkeit links
+%				L3={für die erste Lücke}, 		%3.Moeglichkeit links
+%				R1={und hier jene}, 		%1.Moeglichkeit rechts 
+%				R2={für die Möglichkeiten}, 		%2.Moeglichkeit rechts
+%				R3={der zweiten Lücke.  Theoretisch könnte dieser Text 
+%				auch zweizeilig sein.}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=3,   % Antwort links
+%				A2=2		% Antwort rechts
+%				}			
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%\lueckentext{
+%				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
+%die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
+%				L1={Hier schreibt}, 		%1.Moeglichkeit links  
+%				L2={man die Antwortmöglichkeiten}, 		%2.Moeglichkeit links
+%				L3={für die erste Lücke}, 		%3.Moeglichkeit links
+%				R1={und hier jene}, 		%1.Moeglichkeit rechts 
+%				R2={für die Möglichkeiten}, 		%2.Moeglichkeit rechts
+%				R3={der zweiten Lücke.  Theoretisch könnte dieser Text 
+%				auch mehrzeilig sein.}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=3,   % Antwort links
+%				A2=2		% Antwort rechts
+%				}	
+%
+%
+%\subsubsection{\texttt{\textbackslash lueckentext} -- Option: Variable Breiten der Boxen}
+%
+%Der \texttt{lueckentext}-Befehl erlaubt ein optionales Argument, um die Größen der beiden Boxen zu variieren. Dabei werden in den eckigen Klammern $[~]$ die Veränderung der linken Box (Änderung ca. zwischen -0.3 und 0.3) angegeben und die rechte Box wird automatisch angepasst. Will man etwa die linke Box vergrößern, gilt:\leer  
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%\lueckentext[0.25]{
+%				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
+%die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
+%				L1={In manchen Fällen sind die Antworten einer Lücke}, 		
+%				%1.Moeglichkeit links  
+%				L2={viel länger als die der zweite. In diesem Fall kann man}, 		
+%				%2.Moeglichkeit links
+%				L3={die Größen der Boxen manuell variieren. Die Eingabe ist optional. }, 
+%						%3.Moeglichkeit links
+%				R1={Sehr}, 		%1.Moeglichkeit rechts 
+%				R2={kurze}, 		%2.Moeglichkeit rechts
+%				R3={Antworten}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=1,   % Antwort links
+%				A2=3		% Antwort rechts 
+%				}
+%\end{verbatim}
+%
+%\begin{minipage}{1.0\textwidth}
+%\textsc{Ausgabe:}
+%
+%
+%\lueckentext[0.25]{
+%				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
+%die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
+%				L1={In manchen Fällen sind die Antworten einer Lücke}, 		%1.Moeglichkeit links  
+%				L2={viel länger als die der zweite. In diesem Fall kann man}, 		%2.Moeglichkeit links
+%				L3={die Größen der Boxen manuell variieren. Die Eingabe ist optional. }, 		%3.Moeglichkeit links
+%				R1={Sehr}, 		%1.Moeglichkeit rechts 
+%				R2={kurze}, 		%2.Moeglichkeit rechts
+%				R3={Antworten}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=1,   % Antwort links
+%				A2=3		% Antwort rechts 
+%				}
+%
+%\end{minipage}
+%
+%Analog funktioniert die Verkleinerung der linken Box. Dazu müssen Werte kleiner 0 angegeben
+%werden.
+%
+%\subsubsection{\texttt{\textbackslash lueckentext} -- Option: Englischer Lückentext}
+%Der Befehl \texttt{englueckentext} ist analog zum \texttt{lueckentext}-Befehl zu verwenden. Jedoch wird der als Standard angenommene, einleitende Satz bei Lückentextaufgaben in Englisch angezeigt. 
+%
+%\textsc{Eingabe:} 
+%\begin{verbatim}
+%\englueckentext{
+%				text={Hier wird der Text einer englischen Aufgabe geschrieben. Die Lücken 
+%				\gap und \gap können analog angegeben werden.}, 	%Lueckentext Luecke=\gap
+%				L1={Auch}, 		%1.Moeglichkeit links  
+%				L2={der}, 		%2.Moeglichkeit links
+%				L3={Rest}, 		%3.Moeglichkeit links
+%				R1={wird}, 		%1.Moeglichkeit rechts 
+%				R2={gleich}, 		%2.Moeglichkeit rechts
+%				R3={eingegeben}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=1,   % Antwort links
+%				A2=3		% Antwort rechts 
+%				}
+%\end{verbatim}
+%
+%\textsc{Ausgabe:}
+%\englueckentext{
+%				text={Hier wird der Text einer englischen Aufgabe geschrieben. Die Lücken \gap und \gap können analog angegeben werden.}, 	%Lueckentext Luecke=\gap
+%				L1={Auch}, 		%1.Moeglichkeit links  
+%				L2={der}, 		%2.Moeglichkeit links
+%				L3={Rest}, 		%3.Moeglichkeit links
+%				R1={wird}, 		%1.Moeglichkeit rechts 
+%				R2={gleich}, 		%2.Moeglichkeit rechts
+%				R3={eingegeben}, 		%3.Moeglichkeit rechts
+%				%% LOESUNG: %%
+%				A1=1,   % Antwort links
+%				A2=3		% Antwort rechts 
+%				}
+%
+%\subsection{\texttt{\textbackslash zuordnen}}
+%Dieser Befehl dient zum Erstellen des Zuordnungsformats von vier aus sechs Möglichkeiten.
+%Die korrekten Antworten können hier frei als Buchstaben eingegeben werden. (hier: F, C, A, D)
+%
+%\leer
+%
+%\textsc{Eingabe:}
+%\begin{verbatim}
+%\zuordnen{
+%				R1={Hier sind die vier},				% Response 1
+%				R2={Antworten, zu},				% Response 2
+%				R3={denen die Möglichkeiten der rechten Box richtig},				% Response 3
+%				R4={zuzuordnen sind},				% Response 4
+%				%% Moegliche Zuordnungen: %%
+%				A={Hier trägt}, 				%Moeglichkeit A  
+%				B={man den Text}, 				%Moeglichkeit B  
+%				C={oder die Formeln}, 				%Moeglichkeit C  
+%				D={für die sechs}, 				%Moeglichkeit D  
+%				E={Möglichkeiten, die man zuordnen muss}, 				%Moeglichkeit E  
+%				F={ein.}, 				%Moeglichkeit F  
+%				%% LOESUNG: %%
+%				A1={F},				% 1. richtige Zuordnung
+%				A2={C},				% 2. richtige Zuordnung
+%				A3={A},				% 3. richtige Zuordnung
+%				A4={D},				% 4. richtige Zuordnung
+%				}
+%\end{verbatim}
+%\leer
+%
+%\textsc{Ausgabe:}
+%
+%\zuordnen{
+%				R1={Hier sind die vier},				% Response 1
+%				R2={Antworten, zu},				% Response 2
+%				R3={denen die Möglichkeiten der rechten Box richtig},				% Response 3
+%				R4={zuzuordnen sind},				% Response 4
+%				%% Moegliche Zuordnungen: %%
+%				A={Hier trägt}, 				%Moeglichkeit A  
+%				B={man den Text}, 				%Moeglichkeit B  
+%				C={oder die Formeln}, 				%Moeglichkeit C  
+%				D={für die sechs}, 				%Moeglichkeit D  
+%				E={Möglichkeiten, die man zuordnen muss}, 				%Moeglichkeit E  
+%				F={ein.}, 				%Moeglichkeit F  
+%				%% LOESUNG: %%
+%				A1={F},				% 1. richtige Zuordnung
+%				A2={C},				% 2. richtige Zuordnung
+%				A3={A},				% 3. richtige Zuordnung
+%				A4={D},				% 4. richtige Zuordnung
+%				}
+%
+%\subsubsection{\texttt{\textbackslash zuordnen} -- Option: Variable Breiten der Boxen}
+%
+%Der \texttt{zuordnen}-Befehl erlaubt ein optionales Argument, um die Größen der beiden Boxen zu variieren. Dabei werden in den eckigen Klammern $[~]$ die Veränderung der linken Box (Änderung ca. zwischen -0.3 und 0.3) angegeben und die rechte Box wird automatisch angepasst. Will man etwa die linke Box vergrößern, gilt:  
+% 
+%\textsc{Eingabe:}
+%\begin{small}
+%\begin{verbatim}
+%\zuordnen[0.25]{
+%R1={Dabei wird die linke Box vergrößert.},				% Response 1
+%				R2={Dies dient vor allem dazu,},				% Response 2
+%				R3={wenn eine Seite viel Text enthält, die andere hingegen},				% Response 3
+%				R4={nur ganz wenig. Wird die [ ] nicht angegeben dann wird der Standardwert
+%				0 angenommen.},				% Response 4
+%				%% Moegliche Zuordnungen: %%
+%				A={Hier}, 				%Moeglichkeit A  
+%				B={sind}, 				%Moeglichkeit B  
+%				C={eher}, 				%Moeglichkeit C  
+%				D={kurze}, 				%Moeglichkeit D  
+%				E={Antworten}, 				%Moeglichkeit E  
+%				F={möglich}, 				%Moeglichkeit F  
+%				%% LOESUNG: %%
+%				A1={},				% 1. richtige Zuordnung
+%				A2={},				% 2. richtige Zuordnung
+%				A3={},				% 3. richtige Zuordnung
+%				A4={},				% 4. richtige Zuordnung
+%				}
+%\end{verbatim}
+%
+%
+%
+%\textsc{Ausgabe:}
+%
+%\zuordnen[0.25]{
+%				R1={Dabei wird die linke Box vergrößert.},				% Response 1
+%				R2={Dies dient vor allem dazu,},				% Response 2
+%				R3={wenn eine Seite viel Text enthält, die andere hingegen},				% Response 3
+%				R4={nur ganz wenig. Wird die $[~]$ nicht angegeben dann wird der Standardwert 0 angenommen.},				% Response 4
+%				%% Moegliche Zuordnungen: %%
+%				A={Hier}, 				%Moeglichkeit A  
+%				B={sind}, 				%Moeglichkeit B  
+%				C={eher}, 				%Moeglichkeit C  
+%				D={kurze}, 				%Moeglichkeit D  
+%				E={Antworten}, 				%Moeglichkeit E  
+%				F={möglich}, 				%Moeglichkeit F  
+%				%% LOESUNG: %%
+%				A1={},				% 1. richtige Zuordnung
+%				A2={},				% 2. richtige Zuordnung
+%				A3={},				% 3. richtige Zuordnung
+%				A4={},				% 4. richtige Zuordnung
+%				}
+%\end{small}
+%
+%Analog funktioniert die Verkleinerung der linken Box. Dazu müssen Werte kleiner 0 angegeben werden.
+%
+%
+%\section{Typ-2-Aufgaben}
+%Um die Struktur der Teil-2-Aufgaben ähnlich jener bei der standardisierten Reifeprüfung einhalten zu können, beinhaltet das Paket einige Befehle, die die Erstellung von Typ-2-Aufagben erleichtern.
+%
+%\subsection{\texttt{\textbackslash begin\{aufgabenstellung\} \ldots\ \textbackslash end\{aufgabenstellung\}}}
+%Typ-2-Aufgaben sollten innerhalb einer Prüfung mithilfe der \texttt{langesbeispiel}-Umgebung eingegeben werden, um die volle Funktionalität (wie \texttt{notenschluessel}) des Pakets zu ermöglichen. Der einleitenden Aufgabentext kann dann eingegeben werden. Für die Eingabe der Aufgabenstellung kann dann die \texttt{aufgabenstellung}-Umgebung verwendet werden.\leer
+%
+%\subsubsection{\texttt{\textbackslash item} und \texttt{\textbackslash Subitem\{\}}}
+%Innerhalb dieser Umgebung können dann mithilfe von \texttt{\textbackslash item} (nummeriert mit a), b) ,c), \ldots) und \texttt{\textbackslash Subitem\{\}} (nummeriert mit 1), 2), \ldots) die jeweiligen Items und Subitems der Aufgabe eingegeben werden. \leer
+%
+%\subsubsection{Ausgleichspunkte -- \texttt{\textbackslash Aitem} und \texttt{\textbackslash ASubitem\{\}}}
+%Um die notwendigen Ausgleichspunkte in den Typ-2-Aufgaben zu markieren, können die Befehle \texttt{item} und \texttt{Subitem} durch \texttt{\textbackslash Aitem} und \texttt{\textbackslash ASubitem\{\}} ersetzt werden. Dabei wird vor den geschriebenen Text noch ein \fbox{A} eingefügt -- die Nummerierung wird aber wie gewohnt fortgesetzt.  
+%
+%\subsection{\texttt{\textbackslash begin\{loesung\} \ldots\ \textbackslash end\{loesung\}}}
+%Mithilfe der \texttt{loesung}-Umgebung kann die Lösungserwartung sowie der Lösungsschlüssel eingegeben werden. Analog zur Aufgabenstellung können \texttt{\textbackslash item} und \texttt{\textbackslash Subitem\{\}} verwendet werden. Die Eingabe innerhalb der \texttt{loesung}-Umgebung werden nur dann angezeigt, wenn die Lösungsanzeige aktiviert wurde. Die Nummerierung der Subitems kann man mit folgender Eingabe zurücksetzen: \texttt{\textbackslash setcounter{subitemcounter}{0}}.\leer
+%
+%Eine vollständige Typ-2-Aufgabe könnte also wie folgt aussehen:
+%
+%\textsc{Eingabe:}
+%
+%\begin{verbatim}
+%\begin{langesbeispiel} \item[0] %PUNKTE DES BEISPIELS
+%Hier steht der einleitende Text der Typ-2-Aufgabe.
+%
+%\begin{aufgabenstellung}
+%\item Hier steht der Aufgabentext des ersten Items.
+%
+%\Subitem{Aufgabentext des ersten Unterpunkts} %Unterpunkt1
+%\Subitem{Aufgabentext des zweiten Unterpunkts} %Unterpunkt2
+%
+%\end{aufgabenstellung}
+%
+%\begin{loesung}
+%\item \subsection{Lösungserwartung:} 
+%
+%\Subitem{Lösungserwartung des ersten Unterpunkts} %Lösung von Unterpunkt1
+%\Subitem{Lösungserwartung des zweiten Unterpunkts} %%Lösung von Unterpunkt2
+%
+%\setcounter{subitemcounter}{0}
+%\subsection{Lösungsschlüssel:}
+% 
+%\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Unterpunkt1
+%\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Unterpunkt2
+%
+%\end{loesung}
+%
+%\end{langesbeispiel}
+%\end{verbatim}
+%
+%
+%\textsc{Ausgabe:}
+%\setcounter{Antworten}{1}
+%\setcounter{secnumdepth}{-1}
+%\setcounter{number}{0}
+%\begin{langesbeispiel} \item[0] %PUNKTE DES BEISPIELS
+%Hier steht der einleitende Text der Typ-2-Aufgabe.
+%
+%\addtocontents{toc}{\setcounter{tocdepth}{-10}}
+%\begin{aufgabenstellung}
+%\item Hier steht der Aufgabentext des ersten Items.
+%
+%\Subitem{Aufgabentext des ersten Unterpunkts} %Unterpunkt1
+%\Subitem{Aufgabentext des zweiten Unterpunkts} %Unterpunkt2
+%
+%\end{aufgabenstellung}
+%
+%\begin{loesung}
+%\item \subsection*{Lösungserwartung:} 
+%
+%\Subitem{Lösungserwartung des ersten Unterpunkts} %Lösung von Unterpunkt1
+%\Subitem{Lösungserwartung des zweiten Unterpunkts} %%Lösung von Unterpunkt2
+%
+%\setcounter{subitemcounter}{0}
+%\subsection*{Lösungsschlüssel:}
+% 
+%\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Lösungschlüssel von Unterpunkt1
+%\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Lösungschlüssel von Unterpunkt2
+%
+%\end{loesung}
+%
+%\end{langesbeispiel}
+%\addtocontents{toc}{\setcounter{tocdepth}{1}} 
+% 
+%
+%
+%\section{Einfügen von GeoGebra-Grafiken}
+%
+%Folgende Schritte müssen befolgt werden, um Geogebra-Grafiken in \LaTeX-Dokumente einfügen zu können. 
+%\leer
+% 
+%\begin{enumerate}
+%	\item Grafik in Geogebra zeichnen
+%	\item Datei $\rightarrow$ Export $\rightarrow$ Grafik-Ansicht als PSTricks\ldots
+%	\item Parameter einstellen 
+%	\item \fbox{Erzeuge PSTricks} drücken 
+%	\item Gesamten Text, der zwischen \verb|\begin{document}| und \verb|\end{document}| steht, kopieren. 
+%	
+%	\item Im \LaTeX-Dokument dort einfügen, wo die Grafik integriert werden soll. (Dies ist auch innerhalb von den unterschiedlichen Formaten (wie \verb|\zuordnen| oder \verb|\multiplechoice| möglich) 
+%	
+%	\item Die Größe der Grafik kann mithilfe des folgenden Befehls angepasst werden:
+%		
+%	\begin{verbatim}
+%	\resizebox{0.5\linewidth}{!}{Hier wird der Text von Geogebra eingefügt}
+%	\end{verbatim}
+%	
+%	Der Faktor 0.5 gibt die Größe der Grafik an. Mit dem Wert 0.5 wird die Größe der Grafik somit halbiert. 
+%	
+%\end{enumerate}
+%
+%\meinlr{
+%\centering
+%\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$C$}}
+%\end{scriptsize}
+%\end{pspicture*}
+%}
+%{\centering
+%\resizebox{0.5\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
+%\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
+%\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
+%\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
+%\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
+%\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
+%\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
+%\begin{scriptsize}
+%\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
+%\rput[bl](1.37,3){\blue{$A$}}
+%\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
+%\rput[bl](0.63,0.79){\blue{$B$}}
+%\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
+%\rput[bl](3.7,1.16){\blue{$C$}}
+%\end{scriptsize}
+%\end{pspicture*}}
+%}
+%\leer
+%
+%
+%\centering Kopie des PSTricks-Exports von Geogebra \\
+% (Originalgröße und mit \verb|\resizebox{0.5\linewidth}{!}{|\ldots\})
 
-\subsubsection{\texttt{\textbackslash beurteilungsraster}}
 
-Der Befehl \texttt{beurteilungsraster} entspricht der aktuellen Vorgabe der Beurteilung der standardisierten Reifeprüfung (Stand 2019). Dabei müssen die Punkte für Teil 1, Ausgleichspunkte und Teil 2 angegeben werden. Die in Klammer angegebenen Werte entsprechen der bei der Reifeprüfung verwendeten prozentuellen Notenverteilung, können jedoch jederzeit verändert werden. \leer  
 
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\beurteilungsraster{0.85}{0.68}{0.5}{1/3}{ % Prozentschluessel
-				T1={24}, 				% Punkte im Teil 1  
-				AP={4}, 				% Ausgleichspunkte aus Teil 2  
-				T2={20}, 				% Punkte im Teil 2
-				} 
-
-\end{verbatim}
-\textsc{Ausgabe:}\leer
-
-siehe nächste Seite \newpage
-
-
-\beurteilungsraster{0.85}{0.68}{0.5}{1/3}{ % Prozentschluessel
-				T1={24}, 				% Punkte im Teil 1  
-				AP={4}, 				% Ausgleichspunkte aus Teil 2  
-				T2={20}, 				% Punkte im Teil 2
-				}
-
-\newpage
-
-\subsection{Paketoption -- Lösungseingabe: \texttt{[solution\_on/off]}}
-
-Es besteht die Möglichkeit, die Lösung in der erstellten \texttt{tex}-Datei zu implementieren und diese bei Bedarf in der \texttt{PDF}-Datei ein- bzw. auszublenden. Um diese Funktion nutzen zu können, muss die \texttt{solution\_on/off} Option im \texttt{srdp-mathematik}-Paket geladen werden. Diese kann durch hinzufügen durch "`\texttt{solution\_on}"' bzw. "`\texttt{solution\_off}"' aktiviert bzw. deaktiviert werden. Also:
-
-\begin{verbatim}
-\usepackage[solution_on]{srdp-mathematik}
-\end{verbatim}
-
-oder
-
-\begin{verbatim}
-\usepackage[solution_off]{srdp-mathematik}
-\end{verbatim}
-
-
-Die korrekte Lösungseingabe der vorformatierten Typ-1-Aufgaben wird bei den entsprechenden Befehlen direkt erklärt. Unabhängig davon, gibt es die Möglichkeit mithilfe des \texttt{antwort}-Befehls, beliebige Abschnitte als \textit{Antwort} zu deklarieren. (verwendeter counter: \texttt{Antworten=0, 1})   
-
-
-\subsubsection{\texttt{\textbackslash antwort}}
-Für offene Antworten kann der \texttt{\textbackslash antwort\{\}}-Befehl verwendet werden. Darin können Textpassagen, mathematische Formeln oder Grafiken angegeben werden, die ausschließlich bei aktivierter Lösung (\texttt{[solution\_on]}) und in \textcolor[rgb]{1,0,0}{rot} angegeben werden. \leer
-
-
-\subsubsection*{\texttt{\textbackslash antwort} -- Option: Anzeige nur bei \texttt{solution\_off}}
-
-Der \texttt{antwort}-Befehl erlaubt ein optionales Argument. Es können dadurch zusätzliche Textpassagen angegeben werden, die \underline{ausschließlich} angezeigt werden, wenn die Lösungsanzeige deaktiviert (\texttt{[solution\_off])} ist. Das heißt: \leer
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\antwort[Optionale Eingabe, die nur angezeigt wird, wenn 'solution_off' gewählt 
-wird.]
-{Dies ist die notwendige Angabe und wird in rot angezeigt und nur wenn 
-'solution_on' eingestellt ist.}  
-\end{verbatim}
-
-
-\textsc{Ausgabe}, wenn \texttt{\textbackslash usepackage[solution\_off]\{srdp-mathematik\}} eingestellt ist: \\
-
-\setcounter{Antworten}{0}
-\antwort[Optionale Eingabe, die nur angezeigt wird, wenn \texttt{'solution\_off'} gewählt wird.]
-{Dies ist die notwendige Angabe und wird in rot angezeigt und nur wenn 
-\textttt{'solution\_on'} eingestellt ist.}
-\leer
-
-\textsc{Ausgabe}, wenn \texttt{\textbackslash usepackage[solution\_on]\{srdp-mathematik\}} eingestellt ist:\\
-
-\setcounter{Antworten}{1}
-\antwort[Optionale Eingabe, die nur angezeigt wird, wenn \texttt{'solution\_off'} gewählt wird.]
-{Dies ist die notwendige Eingabe und wird in rot angezeigt und nur wenn 
-\texttt{'solution\_on'} eingestellt ist.}
-
-
-\subsection{Paketoption -- Erstellung von Gruppen: \texttt{[random=0,1,2,\ldots]}}
-Das \texttt{srdp-mathematik}-Paket ermöglicht auch die automatische Erstellung von Gruppen für Schularbeiten, durch Vertauschung der Antwortmöglichkeiten aller Typ-1-Aufgaben. Dazu kann die \texttt{random}-Option im \texttt{srdp-mathematik}-Paket eingebunden geladen werden. Also:
-
-\begin{verbatim}
-\usepackage[random=0]{srdp-mathematik}
-\end{verbatim}
-
-oder
-
-\begin{verbatim}
-\usepackage[random=1]{srdp-mathematik}
-\end{verbatim}
-
-usw.
-
-Die Zahl "`0"' bedeutet dabei, dass keine Vertauschung stattfindet und somit die Antwortmöglichkeiten in der Reihenfolge angezeigt werden, in der sie in der \texttt{tex}-Datei eingegeben wurden. 
-
-Durch das Ersetzen der Zahl "`0"' durch die Zahlen $1, 2, 3, \ldots$ (und anschließendem Kompilieren) werden die Antwortmöglichkeiten bei \textbf{allen} Typ1-Formaten der Datei in einer zufälligen Reihenfolge vertauscht. Es können somit in kurzer Zeit mehrere Gruppen der selben Schularbeit erstellt werden. Die eingegebenen Lösungen werden gleichermaßen übernommen. \leer
-
-Die Erstellung der Gruppen ist dabei reproduzierbar. Die Reihenfolge der Antwortmöglichkeiten einer Gruppe bleibt daher immer gleich. Mithilfe des Befehls \texttt{\textbackslash Gruppe} kann die Gruppennummer innerhalb der \texttt{PDF}-Datei (z.B. am Deckblatt) angezeigt werden. (verwendeter counter: \texttt{Zufall=0, 1, 2, \ldots})
-
-
-
-\subsection{Paketoption -- Informationseingabe: \texttt{[info\_on/off]}}
-Es ist darüber hinaus möglich zusätzliche Informationen (Erläuterungen, Hilfestellungen, \ldots) hinzuzufügen und einzublenden. Dazu kann die Option \texttt{info\_on/off} im \texttt{srdp-mathematik}-Paket eingebunden werden. Die Infos werden in \textcolor[rgb]{0,0,1}{blau} angegeben und nur dann angezeigt, wenn die Option \texttt{info\_on} gewählt wurde (verwendeter counter: \texttt{info=0,1}). Also:
-
-
-\begin{verbatim}
-\usepackage[info_on]{srdp-mathematik}
-\end{verbatim}
-
-oder
-
-\begin{verbatim}
-\usepackage[info_off]{srdp-mathematik}
-\end{verbatim}
-
-				
-\subsection{Weitere allgemeine Befehle}
-Außerdem gibt es noch weitere Befehle, die die Formatierung erleichtern. 
-
-\subsubsection{\texttt{\textbackslash leer}}
-Eine Leerzeile, etwa zwischen zwei Beispielen. \\
-(Nach dem Befehl \texttt{\textbackslash leer} muss in der \texttt{.tex}-Datei ein Leerzeile eingefügt werden!) 
-
-\leer
-
-\subsubsection{\texttt{\textbackslash meinlr}}
-\begin{verbatim}
-\meinlr{Dieser Teil steht links. Wenn dieser Text länger sein sollte, 
-geht er automatisch in der nächsten Zeile weiter ohne auf die andere 
-Seite über zu gehen.}{Dieser Teil steht rechts.}
-\end{verbatim}
-Teilt die Seite in zwei gleich große Seiten. 
-
-\leer
-
-\textsc{Ausgabe:}
-
-\meinlr{Dieser Teil steht links. Wenn dieser Text länger sein sollte, 
-geht er automatisch in der nächsten Zeile weiter ohne auf die andere 
-Seite über zu gehen.}{Dieser Teil steht rechts.}
-
-
-\subsubsection*{\texttt{\textbackslash meinlr} -- Option: Variable Spaltenbreiten}
-
-Der Befehl \texttt{\textbackslash meinlr} erlaubt durch die optionale Eingabe eine Abänderung der beiden Spaltenbreiten. Durch die Eingabe zwischen ca. -0.3 und 0.3 kann die Spaltenmitte nach links oder rechts verschoben und somit die Spaltenbreite variiert werden.
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-\meinlr[-0.15]{Mit einem negativen Wert wird die linke Spalte verkleinert.}
-{Die rechte Spalte wird damit automatisch vergrößert. Dadurch ist es möglich, 
-die Spaltenbreiten nach Belieben zu variieren.}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-
-\meinlr[-0.15]{Mit einem negativen Wert wird die linke Spalte verkleinert.}
-{Die rechte Spalte wird damit automatisch vergrößert. Dadurch ist es möglich, 
-die Spaltenbreiten nach Belieben zu variieren.}
-
-\leer
-
-\subsubsection{\texttt{\textbackslash meinlcr}}
-\begin{verbatim}
-\meinlcr{Text ganz links}{Text in der Mitte. Auch hier sind längere Texte
-möglich.}{Text auf der rechten Seite.}
-\end{verbatim}
-Teilt die Seite in drei gleich große Teile
-
-\leer
-
-\textsc{Ausgabe:}
-
-\meinlcr{Text ganz links. Was passiert hier wenn dieser Teil länger ist?}{Text in der Mitte. Auch hier sind längere Texte möglich.}{Text auf der rechten Seite.}
-
-
-\subsubsection{\texttt{\textbackslash dint} und \texttt{\textbackslash dx}}
-Die Befehle \texttt{\textbackslash dint} und \texttt{\textbackslash dx} vereinfacht die Eingabe eines Integrals (bestimmt oder unbestimmt).\leer
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-$\dint_1^3 x^2 \dx$ 
-\end{verbatim}
-
-\textsc{Ausgabe:}\leer
-
-$\dint_1^3 x^2 \dx$ 
-\leer
-
-Wird eine Variable ungleich $x$ integriert, kann diese mithilfe der Option \texttt{\textbackslash{dx[Variable]}} dargestellt werden.\leer
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-$\dint t^2 \dx[t]$ 
-\end{verbatim}
-
-\textsc{Ausgabe:}\leer
-
-$\dint t^2 \dx[t]$
-
-\subsubsection{\texttt{\textbackslash degre}}
-
-Der \texttt{\textbackslash degre} Befehl stellt das Einheitszeichen für Grad dar. Er kann im Text- und im Mathematik-Modus verwendet werden.
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-Der Winkel Alpha ist 30\degre. ($\alpha = 30 \degre$)
-\end{verbatim}
-
-\textsc{Ausgabe:}\leer
-
-Der Winkel Alpha ist 30\degre. ($\alpha = 30 \degre$)
-
-
-\section{Typ-1-Aufgaben}
-
-Das \texttt{srdp-mathematik}-Paket ermöglicht die Verwendung vorgefertigter Aufgabenformate, die bei der österreichischen, standardisierten Reifeprüfung Anwendung finden.
-
-
-\subsection{\texttt{\textbackslash multiplechoice}}
-
-Dieser Befehl liefert eine vollständige Formatierung für eine Multiplechoice-Aufgabe. Die Anzahl der Antwortmöglichkeiten kann dabei frei (max. 9) gewählt werden. Als Standard ist dabei das Format mit fünf Antwortmöglichkeiten eingestellt. \leer
-
-Die korrekten Antworten der Multiplechoice-Aufgabe werden dabei bei A1, A2, \ldots, A5 angegeben. Sollte beispielsweise die 1., die 4. und 5. Antwortmöglichkeit korrekt sein, muss je eine "`0"' durch 1, 4, und 5 ersetzt werden -- Die Reihenfolge dabei ist nicht relevant. Also: \\
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Hier},   %1. Antwortmoeglichkeit 
-				L2={werden},   %2. Antwortmoeglichkeit
-				L3={die möglichen},   %3. Antwortmoeglichkeit
-				L4={Antworten},   %4. Antwortmoeglichkeit
-				L5={eingetragen},	 %5. Antwortmoeglichkeit
-				L6={},	 %6. Antwortmoeglichkeit
-				L7={},	 %7. Antwortmoeglichkeit
-				L8={},	 %8. Antwortmoeglichkeit
-				L9={},	 %9. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=1,  % 1. Antwort
-				A2=4,	 % 2. Antwort
-				A3=5,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-\end{verbatim}
-
-\textsc{Ausgabe:}\vspace{0.2cm}
-
-\begin{minipage}{8cm}
-\setcounter{Antworten}{0}
-mit \texttt{\textbackslash setcounter\{Antworten\}\{0\}}:
-\begin{center}
-\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Hier},   %1. Antwortmoeglichkeit 
-				L2={werden},   %2. Antwortmoeglichkeit
-				L3={die möglichen},   %3. Antwortmoeglichkeit
-				L4={Antworten},   %4. Antwortmoeglichkeit
-				L5={eingetragen},	 %5. Antwortmoeglichkeit
-				L6={},	 %6. Antwortmoeglichkeit
-				L7={},	 %7. Antwortmoeglichkeit
-				L8={},	 %8. Antwortmoeglichkeit
-				L9={},	 %9. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=1,  % 1. Antwort
-				A2=4,	 % 2. Antwort
-				A3=5,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-\end{center}
-\end{minipage} \hfill 
-\begin{minipage}{8cm}
-mit \texttt{\textbackslash setcounter\{Antworten\}\{1\}}:
-\setcounter{Antworten}{1}
-\begin{center}
-\multiplechoice[5]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Hier},   %1. Antwortmoeglichkeit 
-				L2={werden},   %2. Antwortmoeglichkeit
-				L3={die möglichen},   %3. Antwortmoeglichkeit
-				L4={Antworten},   %4. Antwortmoeglichkeit
-				L5={eingetragen},	 %5. Antwortmoeglichkeit
-				L6={},	 %6. Antwortmoeglichkeit
-				L7={},	 %7. Antwortmoeglichkeit
-				L8={},	 %8. Antwortmoeglichkeit
-				L9={},	 %9. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=1,  % 1. Antwort
-				A2=4,	 % 2. Antwort
-				A3=5,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-\end{center}
-\end{minipage}
-
-\leer
-
-Die Zahl in eckigen Klammern gibt dabei die gewünschte Anzahl von Antwortmöglichkeiten an. Somit sind beispielsweise drei oder sieben Antwortmöglichkeiten einstellbar. \leer
-
-Wichtig zu erwähnen ist dabei, dass ausschließlich die Zahl in eckigen Klammern die Anzahl der Antwortmöglichkeiten angibt. Werden anschließend zu wenige oder zu viele Antwortmöglichkeiten angegeben, werden Leerzeilen erzeugt oder die Eingabe wird in der Ausgabe nicht berücksichtigt. 
-
-\leer
-
-\textsc{Eingabe:} \setcounter{Antworten}{0}
-\begin{verbatim}
-\multiplechoice[3]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Durch die 3},   %1. Antwortmoeglichkeit 
-				L2={in eckigen Klammern, werden},   %2. Antwortmoeglichkeit
-				L3={3 Antworten angezeigt},   %3. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=0,  % 1. Antwort
-				A2=0,	 % 2. Antwort
-				A3=0,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-\end{verbatim}
-\leer
-
-\textsc{Ausgabe:}\leer
-
-\multiplechoice[3]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Durch die 3},   %1. Antwortmoeglichkeit 
-				L2={in eckigen Klammern, werden},   %2. Antwortmoeglichkeit
-				L3={3 Antworten angezeigt},   %3. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=0,  % 1. Antwort
-				A2=0,	 % 2. Antwort
-				A3=0,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-\multiplechoice[7]{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Das Gleiche}, %1. Antwort 
-				L2={passiert beim Eintragen von}, %2. Antwort
-				L3={sieben Möglichkeiten.}, %3. Antwort
-				L4={Dabei werden immer 7 Antworten}, %4. Antwort
-				L5={angezeigt, unabhängig ob sie ausgefüllt},	 %5. Antwort
-				L6={sind oder nicht!},	 %6. Antwort
-				L7={},	 %7. Antwort
-				L8={},	 %8. Antwort
-				L9={},	   %9. Antwort
-				%% LOESUNG: %%
-				A1=0,  % 1. Antwort
-				A2=0,	 % 2. Antwort
-				A3=0,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-\end{verbatim}
-
-\leer
-
-\textsc{Ausgabe:}
-
-\multiplechoice[7]{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={Das Gleiche}, %1. Antwort 
-				L2={passiert beim Eintragen von}, %2. Antwort
-				L3={sieben Möglichkeiten.}, %3. Antwort
-				L4={Dabei werden immer 7 Antworten}, %4. Antwort
-				L5={angezeigt, unabhängig ob sie ausgefüllt},	 %5. Antwort
-				L6={sind oder nicht!},	 %6. Antwort
-				L7={},	 %7. Antwort
-				L8={},	 %8. Antwort
-				L9={},	   %9. Antwort
-				%% LOESUNG: %%
-				A1=0,  % 1. Antwort
-				A2=0,	 % 2. Antwort
-				A3=0,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-				
-
-\newpage
-
-Die Eingabe in eckiger Klammer ist dabei optional. Wird sie nicht angegeben, wird der Standard von 5 angenommen. 
-
-\leer
-
-
-
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\multiplechoice{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={In diesem}, %1. Antwort 
-				L2={Fall wird der}, %2. Antwort
-				L3={Standard von}, %3. Antwort
-				L4={fünf Antwortmöglichkeiten}, %4. Antwort
-				L5={angenommen},	 %5. Antwort
-				L6={},	 %6. Antwort
-				L7={},	 %7. Antwort
-				L8={},	 %8. Antwort
-				L9={}	   %9. Antwort
-				}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-
-\multiplechoice{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={In diesem}, %1. Antwort 
-				L2={Fall wird der}, %2. Antwort
-				L3={Standard von}, %3. Antwort
-				L4={fünf Antwortmöglichkeiten}, %4. Antwort
-				L5={angenommen},	 %5. Antwort
-				L6={},	 %6. Antwort
-				L7={},	 %7. Antwort
-				L8={},	 %8. Antwort
-				L9={}	   %9. Antwort
-				}
-
-\leer
-\newpage
-
-\subsubsection{Add-on: \texttt{\textbackslash langmultiplechoice}}
-
-Der \texttt{langmultiplechoice}-Befehl ist analog zum \texttt{multiplechoice}-Befehl zu verwenden. Der Unterschied besteht darin, dass Antwortmöglichkeiten auf zwei Spalten aufgeteilt werden. Dies ist vor allem dann sinnvoll, wenn Geogebra-Grafiken importiert werden, um eine bessere Lesbarkeit zu ermöglichen.
-
-\langmultiplechoice[6]{  %Anzahl der Antwortmoeglichkeiten, Standard: 5
-				L1={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$C$}}
-\end{scriptsize}
-\end{pspicture*}}},   %1. Antwortmoeglichkeit 
-				L2={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$C$}}
-\end{scriptsize}
-\end{pspicture*}}},   %2. Antwortmoeglichkeit
-				L3={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$C$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$B$}}
-\end{scriptsize}
-\end{pspicture*}}},   %3. Antwortmoeglichkeit
-				L4={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$C$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$A$}}
-\end{scriptsize}
-\end{pspicture*}}},   %4. Antwortmoeglichkeit
-				L5={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$C$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$B$}}
-\end{scriptsize}
-\end{pspicture*}}},	 %5. Antwortmoeglichkeit
-				L6={\resizebox{0.7\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$C$}}
-\end{scriptsize}
-\end{pspicture*}}},	 %6. Antwortmoeglichkeit
-				L7={},	 %7. Antwortmoeglichkeit
-				L8={},	 %8. Antwortmoeglichkeit
-				L9={},	 %9. Antwortmoeglichkeit
-				%% LOESUNG: %%
-				A1=0,  % 1. Antwort
-				A2=0,	 % 2. Antwort
-				A3=0,  % 3. Antwort
-				A4=0,  % 4. Antwort
-				A5=0,  % 5. Antwort
-				}
-
-
-\newpage
-
-\subsection{\texttt{\textbackslash lueckentext}}
-Dieser Befehl dient zur Erstellung eines Lückentexts, basierend auf dem standardisierten Format des BIFIE. Der einleitenden Satz: \textit{"`Ergänze die Textlücken im folgenden Satz durch Ankreuzen der jeweils richtigen Satzteile so, dass eine mathematisch korrekte Aussage entsteht!"'} wird als Standard angenommen und automatisch angegeben. Im Bereich \texttt{\textbackslash text=\{\}} wird der Lückentext angegeben, wobei die Lücken immer mit \texttt{\textbackslash gap} eingefügt werden und automatisch nummeriert werden. Analog zu den Lösungsangaben der Multiplechoice-Aufgabe, werden die korrekten Antworten bei A1, A2 oder A3 mit 1,2 oder 3 angegeben. (hier: Lösung links: 3 und rechts: 2)
-\vspace{0.35cm}
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\lueckentext{
-				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
-die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
-				L1={Hier schreibt}, 		%1.Moeglichkeit links  
-				L2={man die Antwortmöglichkeiten}, 		%2.Moeglichkeit links
-				L3={für die erste Lücke}, 		%3.Moeglichkeit links
-				R1={und hier jene}, 		%1.Moeglichkeit rechts 
-				R2={für die Möglichkeiten}, 		%2.Moeglichkeit rechts
-				R3={der zweiten Lücke.  Theoretisch könnte dieser Text 
-				auch zweizeilig sein.}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=3,   % Antwort links
-				A2=2		% Antwort rechts
-				}			
-\end{verbatim}
-
-\textsc{Ausgabe:}
-\lueckentext{
-				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
-die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
-				L1={Hier schreibt}, 		%1.Moeglichkeit links  
-				L2={man die Antwortmöglichkeiten}, 		%2.Moeglichkeit links
-				L3={für die erste Lücke}, 		%3.Moeglichkeit links
-				R1={und hier jene}, 		%1.Moeglichkeit rechts 
-				R2={für die Möglichkeiten}, 		%2.Moeglichkeit rechts
-				R3={der zweiten Lücke.  Theoretisch könnte dieser Text 
-				auch mehrzeilig sein.}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=3,   % Antwort links
-				A2=2		% Antwort rechts
-				}	
-
-
-\subsubsection{\texttt{\textbackslash lueckentext} -- Option: Variable Breiten der Boxen}
-
-Der \texttt{lueckentext}-Befehl erlaubt ein optionales Argument, um die Größen der beiden Boxen zu variieren. Dabei werden in den eckigen Klammern $[~]$ die Veränderung der linken Box (Änderung ca. zwischen -0.3 und 0.3) angegeben und die rechte Box wird automatisch angepasst. Will man etwa die linke Box vergrößern, gilt:\leer  
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-\lueckentext[0.25]{
-				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
-die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
-				L1={In manchen Fällen sind die Antworten einer Lücke}, 		
-				%1.Moeglichkeit links  
-				L2={viel länger als die der zweite. In diesem Fall kann man}, 		
-				%2.Moeglichkeit links
-				L3={die Größen der Boxen manuell variieren. Die Eingabe ist optional. }, 
-						%3.Moeglichkeit links
-				R1={Sehr}, 		%1.Moeglichkeit rechts 
-				R2={kurze}, 		%2.Moeglichkeit rechts
-				R3={Antworten}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=1,   % Antwort links
-				A2=3		% Antwort rechts 
-				}
-\end{verbatim}
-
-\begin{minipage}{1.0\textwidth}
-\textsc{Ausgabe:}
-
-
-\lueckentext[0.25]{
-				text={Hier wird der Text geschrieben. Die Lücke eins hat dabei
-die \gap, die Lücke zwei hat die \gap.}, 	%Lueckentext Luecke=\gap
-				L1={In manchen Fällen sind die Antworten einer Lücke}, 		%1.Moeglichkeit links  
-				L2={viel länger als die der zweite. In diesem Fall kann man}, 		%2.Moeglichkeit links
-				L3={die Größen der Boxen manuell variieren. Die Eingabe ist optional. }, 		%3.Moeglichkeit links
-				R1={Sehr}, 		%1.Moeglichkeit rechts 
-				R2={kurze}, 		%2.Moeglichkeit rechts
-				R3={Antworten}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=1,   % Antwort links
-				A2=3		% Antwort rechts 
-				}
-
-\end{minipage}
-
-Analog funktioniert die Verkleinerung der linken Box. Dazu müssen Werte kleiner 0 angegeben
-werden.
-
-\subsubsection{\texttt{\textbackslash lueckentext} -- Option: Englischer Lückentext}
-Der Befehl \texttt{englueckentext} ist analog zum \texttt{lueckentext}-Befehl zu verwenden. Jedoch wird der als Standard angenommene, einleitende Satz bei Lückentextaufgaben in Englisch angezeigt. 
-
-\textsc{Eingabe:} 
-\begin{verbatim}
-\englueckentext{
-				text={Hier wird der Text einer englischen Aufgabe geschrieben. Die Lücken 
-				\gap und \gap können analog angegeben werden.}, 	%Lueckentext Luecke=\gap
-				L1={Auch}, 		%1.Moeglichkeit links  
-				L2={der}, 		%2.Moeglichkeit links
-				L3={Rest}, 		%3.Moeglichkeit links
-				R1={wird}, 		%1.Moeglichkeit rechts 
-				R2={gleich}, 		%2.Moeglichkeit rechts
-				R3={eingegeben}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=1,   % Antwort links
-				A2=3		% Antwort rechts 
-				}
-\end{verbatim}
-
-\textsc{Ausgabe:}
-\englueckentext{
-				text={Hier wird der Text einer englischen Aufgabe geschrieben. Die Lücken \gap und \gap können analog angegeben werden.}, 	%Lueckentext Luecke=\gap
-				L1={Auch}, 		%1.Moeglichkeit links  
-				L2={der}, 		%2.Moeglichkeit links
-				L3={Rest}, 		%3.Moeglichkeit links
-				R1={wird}, 		%1.Moeglichkeit rechts 
-				R2={gleich}, 		%2.Moeglichkeit rechts
-				R3={eingegeben}, 		%3.Moeglichkeit rechts
-				%% LOESUNG: %%
-				A1=1,   % Antwort links
-				A2=3		% Antwort rechts 
-				}
-
-\subsection{\texttt{\textbackslash zuordnen}}
-Dieser Befehl dient zum Erstellen des Zuordnungsformats von vier aus sechs Möglichkeiten.
-Die korrekten Antworten können hier frei als Buchstaben eingegeben werden. (hier: F, C, A, D)
-
-\leer
-
-\textsc{Eingabe:}
-\begin{verbatim}
-\zuordnen{
-				R1={Hier sind die vier},				% Response 1
-				R2={Antworten, zu},				% Response 2
-				R3={denen die Möglichkeiten der rechten Box richtig},				% Response 3
-				R4={zuzuordnen sind},				% Response 4
-				%% Moegliche Zuordnungen: %%
-				A={Hier trägt}, 				%Moeglichkeit A  
-				B={man den Text}, 				%Moeglichkeit B  
-				C={oder die Formeln}, 				%Moeglichkeit C  
-				D={für die sechs}, 				%Moeglichkeit D  
-				E={Möglichkeiten, die man zuordnen muss}, 				%Moeglichkeit E  
-				F={ein.}, 				%Moeglichkeit F  
-				%% LOESUNG: %%
-				A1={F},				% 1. richtige Zuordnung
-				A2={C},				% 2. richtige Zuordnung
-				A3={A},				% 3. richtige Zuordnung
-				A4={D},				% 4. richtige Zuordnung
-				}
-\end{verbatim}
-\leer
-
-\textsc{Ausgabe:}
-
-\zuordnen{
-				R1={Hier sind die vier},				% Response 1
-				R2={Antworten, zu},				% Response 2
-				R3={denen die Möglichkeiten der rechten Box richtig},				% Response 3
-				R4={zuzuordnen sind},				% Response 4
-				%% Moegliche Zuordnungen: %%
-				A={Hier trägt}, 				%Moeglichkeit A  
-				B={man den Text}, 				%Moeglichkeit B  
-				C={oder die Formeln}, 				%Moeglichkeit C  
-				D={für die sechs}, 				%Moeglichkeit D  
-				E={Möglichkeiten, die man zuordnen muss}, 				%Moeglichkeit E  
-				F={ein.}, 				%Moeglichkeit F  
-				%% LOESUNG: %%
-				A1={F},				% 1. richtige Zuordnung
-				A2={C},				% 2. richtige Zuordnung
-				A3={A},				% 3. richtige Zuordnung
-				A4={D},				% 4. richtige Zuordnung
-				}
-
-\subsubsection{\texttt{\textbackslash zuordnen} -- Option: Variable Breiten der Boxen}
-
-Der \texttt{zuordnen}-Befehl erlaubt ein optionales Argument, um die Größen der beiden Boxen zu variieren. Dabei werden in den eckigen Klammern $[~]$ die Veränderung der linken Box (Änderung ca. zwischen -0.3 und 0.3) angegeben und die rechte Box wird automatisch angepasst. Will man etwa die linke Box vergrößern, gilt:  
- 
-\textsc{Eingabe:}
-\begin{small}
-\begin{verbatim}
-\zuordnen[0.25]{
-R1={Dabei wird die linke Box vergrößert.},				% Response 1
-				R2={Dies dient vor allem dazu,},				% Response 2
-				R3={wenn eine Seite viel Text enthält, die andere hingegen},				% Response 3
-				R4={nur ganz wenig. Wird die [ ] nicht angegeben dann wird der Standardwert
-				0 angenommen.},				% Response 4
-				%% Moegliche Zuordnungen: %%
-				A={Hier}, 				%Moeglichkeit A  
-				B={sind}, 				%Moeglichkeit B  
-				C={eher}, 				%Moeglichkeit C  
-				D={kurze}, 				%Moeglichkeit D  
-				E={Antworten}, 				%Moeglichkeit E  
-				F={möglich}, 				%Moeglichkeit F  
-				%% LOESUNG: %%
-				A1={},				% 1. richtige Zuordnung
-				A2={},				% 2. richtige Zuordnung
-				A3={},				% 3. richtige Zuordnung
-				A4={},				% 4. richtige Zuordnung
-				}
-\end{verbatim}
-
-
-
-\textsc{Ausgabe:}
-
-\zuordnen[0.25]{
-				R1={Dabei wird die linke Box vergrößert.},				% Response 1
-				R2={Dies dient vor allem dazu,},				% Response 2
-				R3={wenn eine Seite viel Text enthält, die andere hingegen},				% Response 3
-				R4={nur ganz wenig. Wird die $[~]$ nicht angegeben dann wird der Standardwert 0 angenommen.},				% Response 4
-				%% Moegliche Zuordnungen: %%
-				A={Hier}, 				%Moeglichkeit A  
-				B={sind}, 				%Moeglichkeit B  
-				C={eher}, 				%Moeglichkeit C  
-				D={kurze}, 				%Moeglichkeit D  
-				E={Antworten}, 				%Moeglichkeit E  
-				F={möglich}, 				%Moeglichkeit F  
-				%% LOESUNG: %%
-				A1={},				% 1. richtige Zuordnung
-				A2={},				% 2. richtige Zuordnung
-				A3={},				% 3. richtige Zuordnung
-				A4={},				% 4. richtige Zuordnung
-				}
-\end{small}
-
-Analog funktioniert die Verkleinerung der linken Box. Dazu müssen Werte kleiner 0 angegeben werden.
-
-
-\section{Typ-2-Aufgaben}
-Um die Struktur der Teil-2-Aufgaben ähnlich jener bei der standardisierten Reifeprüfung einhalten zu können, beinhaltet das Paket einige Befehle, die die Erstellung von Typ-2-Aufagben erleichtern.
-
-\subsection{\texttt{\textbackslash begin\{aufgabenstellung\} \ldots\ \textbackslash end\{aufgabenstellung\}}}
-Typ-2-Aufgaben sollten innerhalb einer Prüfung mithilfe der \texttt{langesbeispiel}-Umgebung eingegeben werden, um die volle Funktionalität (wie \texttt{notenschluessel}) des Pakets zu ermöglichen. Der einleitenden Aufgabentext kann dann eingegeben werden. Für die Eingabe der Aufgabenstellung kann dann die \texttt{aufgabenstellung}-Umgebung verwendet werden.\leer
-
-\subsubsection{\texttt{\textbackslash item} und \texttt{\textbackslash Subitem\{\}}}
-Innerhalb dieser Umgebung können dann mithilfe von \texttt{\textbackslash item} (nummeriert mit a), b) ,c), \ldots) und \texttt{\textbackslash Subitem\{\}} (nummeriert mit 1), 2), \ldots) die jeweiligen Items und Subitems der Aufgabe eingegeben werden. \leer
-
-\subsubsection{Ausgleichspunkte -- \texttt{\textbackslash Aitem} und \texttt{\textbackslash ASubitem\{\}}}
-Um die notwendigen Ausgleichspunkte in den Typ-2-Aufgaben zu markieren, können die Befehle \texttt{item} und \texttt{Subitem} durch \texttt{\textbackslash Aitem} und \texttt{\textbackslash ASubitem\{\}} ersetzt werden. Dabei wird vor den geschriebenen Text noch ein \fbox{A} eingefügt -- die Nummerierung wird aber wie gewohnt fortgesetzt.  
-
-\subsection{\texttt{\textbackslash begin\{loesung\} \ldots\ \textbackslash end\{loesung\}}}
-Mithilfe der \texttt{loesung}-Umgebung kann die Lösungserwartung sowie der Lösungsschlüssel eingegeben werden. Analog zur Aufgabenstellung können \texttt{\textbackslash item} und \texttt{\textbackslash Subitem\{\}} verwendet werden. Die Eingabe innerhalb der \texttt{loesung}-Umgebung werden nur dann angezeigt, wenn die Lösungsanzeige aktiviert wurde. Die Nummerierung der Subitems kann man mit folgender Eingabe zurücksetzen: \texttt{\textbackslash setcounter{subitemcounter}{0}}.\leer
-
-Eine vollständige Typ-2-Aufgabe könnte also wie folgt aussehen:
-
-\textsc{Eingabe:}
-
-\begin{verbatim}
-\begin{langesbeispiel} \item[0] %PUNKTE DES BEISPIELS
-Hier steht der einleitende Text der Typ-2-Aufgabe.
-
-\begin{aufgabenstellung}
-\item Hier steht der Aufgabentext des ersten Items.
-
-\Subitem{Aufgabentext des ersten Unterpunkts} %Unterpunkt1
-\Subitem{Aufgabentext des zweiten Unterpunkts} %Unterpunkt2
-
-\end{aufgabenstellung}
-
-\begin{loesung}
-\item \subsection{Lösungserwartung:} 
-
-\Subitem{Lösungserwartung des ersten Unterpunkts} %Lösung von Unterpunkt1
-\Subitem{Lösungserwartung des zweiten Unterpunkts} %%Lösung von Unterpunkt2
-
-\setcounter{subitemcounter}{0}
-\subsection{Lösungsschlüssel:}
- 
-\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Unterpunkt1
-\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Unterpunkt2
-
-\end{loesung}
-
-\end{langesbeispiel}
-\end{verbatim}
-
-
-\textsc{Ausgabe:}
-\setcounter{Antworten}{1}
-\setcounter{secnumdepth}{-1}
-\setcounter{number}{0}
-\begin{langesbeispiel} \item[0] %PUNKTE DES BEISPIELS
-Hier steht der einleitende Text der Typ-2-Aufgabe.
-
-\addtocontents{toc}{\setcounter{tocdepth}{-10}}
-\begin{aufgabenstellung}
-\item Hier steht der Aufgabentext des ersten Items.
-
-\Subitem{Aufgabentext des ersten Unterpunkts} %Unterpunkt1
-\Subitem{Aufgabentext des zweiten Unterpunkts} %Unterpunkt2
-
-\end{aufgabenstellung}
-
-\begin{loesung}
-\item \subsection*{Lösungserwartung:} 
-
-\Subitem{Lösungserwartung des ersten Unterpunkts} %Lösung von Unterpunkt1
-\Subitem{Lösungserwartung des zweiten Unterpunkts} %%Lösung von Unterpunkt2
-
-\setcounter{subitemcounter}{0}
-\subsection*{Lösungsschlüssel:}
- 
-\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Lösungschlüssel von Unterpunkt1
-\Subitem{Lösungsschlüssel des ersten Unterpunkts} %Lösungschlüssel von Unterpunkt2
-
-\end{loesung}
-
-\end{langesbeispiel}
-\addtocontents{toc}{\setcounter{tocdepth}{1}} 
- 
-
-
-\section{Einfügen von GeoGebra-Grafiken}
-
-Folgende Schritte müssen befolgt werden, um Geogebra-Grafiken in \LaTeX-Dokumente einfügen zu können. 
-\leer
- 
-\begin{enumerate}
-	\item Grafik in Geogebra zeichnen
-	\item Datei $\rightarrow$ Export $\rightarrow$ Grafik-Ansicht als PSTricks\ldots
-	\item Parameter einstellen 
-	\item \fbox{Erzeuge PSTricks} drücken 
-	\item Gesamten Text, der zwischen \verb|\begin{document}| und \verb|\end{document}| steht, kopieren. 
-	
-	\item Im \LaTeX-Dokument dort einfügen, wo die Grafik integriert werden soll. (Dies ist auch innerhalb von den unterschiedlichen Formaten (wie \verb|\zuordnen| oder \verb|\multiplechoice| möglich) 
-	
-	\item Die Größe der Grafik kann mithilfe des folgenden Befehls angepasst werden:
-		
-	\begin{verbatim}
-	\resizebox{0.5\linewidth}{!}{Hier wird der Text von Geogebra eingefügt}
-	\end{verbatim}
-	
-	Der Faktor 0.5 gibt die Größe der Grafik an. Mit dem Wert 0.5 wird die Größe der Grafik somit halbiert. 
-	
-\end{enumerate}
-
-\meinlr{
-\centering
-\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$C$}}
-\end{scriptsize}
-\end{pspicture*}
-}
-{\centering
-\resizebox{0.5\linewidth}{!}{\newrgbcolor{zzttqq}{0.6 0.2 0}
-\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dotstyle=o,dotsize=3pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
-\begin{pspicture*}(-0.72,-0.8)(4.45,3.74)
-\psaxes[labelFontSize=\scriptstyle,xAxis=true,yAxis=true,Dx=1,Dy=1,ticksize=-2pt 0,subticks=2]{->}(0,0)(-0.72,-0.8)(4.45,3.74)
-\pspolygon[linecolor=zzttqq,fillcolor=zzttqq,fillstyle=solid,opacity=0.1](1.29,2.88)(0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](1.29,2.88)(0.56,0.67)
-\psline[linecolor=zzttqq](0.56,0.67)(3.62,1.04)
-\psline[linecolor=zzttqq](3.62,1.04)(1.29,2.88)
-\begin{scriptsize}
-\psdots[dotstyle=*,linecolor=blue](1.29,2.88)
-\rput[bl](1.37,3){\blue{$A$}}
-\psdots[dotstyle=*,linecolor=blue](0.56,0.67)
-\rput[bl](0.63,0.79){\blue{$B$}}
-\psdots[dotstyle=*,linecolor=blue](3.62,1.04)
-\rput[bl](3.7,1.16){\blue{$C$}}
-\end{scriptsize}
-\end{pspicture*}}
-}
-\leer
-
-
-\centering Kopie des PSTricks-Exports von Geogebra \\
- (Originalgröße und mit \verb|\resizebox{0.5\linewidth}{!}{|\ldots\})
-
-
-
 \end{document}
 
 

Modified: trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-mathematik.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-mathematik.sty	2021-11-04 20:42:08 UTC (rev 60950)
+++ trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-mathematik.sty	2021-11-04 20:42:24 UTC (rev 60951)
@@ -10,7 +10,7 @@
 %
 
 \NeedsTeXFormat{LaTeX2e}[1996/12/26]
-\ProvidesPackage{srdp-mathematik}[2021/03/29 v1.9.0 Standard-Schularbeitsformate]
+\ProvidesPackage{srdp-mathematik}[2021/11/04 v1.9.1 Standard-Schularbeitsformate]
 
 
 \usepackage{color}
@@ -30,7 +30,7 @@
 \usepackage{framed}
 \usepackage{array}
 \usepackage{tabularx}
-\usepackage{tabu}
+\usepackage{srdp-tables}
 \usepackage{environ}
 \usepackage{cancel}
 \usepackage{spreadtab}
@@ -173,21 +173,24 @@
 \makeatletter
 
 \NewEnviron{beispiel}[2][\unskip]{\begin{minipage}[t]{0.88\textwidth}
-\addtocounter{number}{1}
-\begin{enumerate}
-	\item[\thenumber.] \BODY
-\end{enumerate}
+	\addtocounter{number}{1}
+	\begin{enumerate}
+		\item[\thenumber.] {\BODY}
+	\end{enumerate}
+	
+	
+	\end{minipage} 
+	\begin{minipage}[t]{0.1\textwidth} \raggedleft \small{\_\_\_/#2\addtocounter{punkte}{#2}\\\ifthenelse{\equal{#1}{\string 1/2}}
+		{$\left[{}^1{\mskip -5mu/\mskip -3mu}_2\right]$}
+		{\antwort{\footnotesize #1 \normalsize}}}
+	\end{minipage}
+	\vspace{\baselineskip}
+	
+	}
 
 
-\end{minipage} 
-\begin{minipage}[t]{0.1\textwidth} \raggedleft \small{\_\_\_/#2}\addtocounter{punkte}{#2}\\
-\antwort{\footnotesize #1 \normalsize}\end{minipage}
-\vspace{\baselineskip}
+\newcommand{\pkte}[2][]{\hfill[0\,/\,\ifthenelse{\equal{#1}{\string 1/2}}{${}^1{\mskip -5mu/\mskip -3mu}_2$\,/\,}{}#2]}
 
-}
-
-
-
 %
 %
 %
@@ -195,6 +198,7 @@
 %%%%%%%%%%%%% Teil 2 Überschrift %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
 %
+
 \newcommand{\TEILZWEI}{\newpage \ifodd\value{page}\thispagestyle{empty}\hbox{}\newpage\else \fi
 \begin{flushright}
 \small Name: \rule{7cm}{0.4pt} \normalsize
@@ -247,7 +251,7 @@
 \renewcommand*{\item}{\setcounter{subitemcounter}{0}\itemalt}
 \subsubsection{Aufgabenstellung:}%
 \begin{enumerate}[a),leftmargin=0pt]
-\item \BODY
+\item {\BODY}
 \end{enumerate}%
 \let\item\itemalt}
 
@@ -255,7 +259,7 @@
 \renewcommand*{\item}{\setcounter{subitemcounter}{0}\itemalt}
 \antwort{%%
 \begin{enumerate}[a),leftmargin=0pt]
-\item \BODY
+\item {\BODY}
 \end{enumerate}}%
 \let\item\itemalt}
 
@@ -892,11 +896,12 @@
 \newcommand\tfmultiplechoice[3][5]{ %Anzahl der Antwortmoeglichkeiten, Standard: 5
   \bgroup
   \jeroen at set@keys{#3}%%
-\setcounter{counter}{0}		
+\setcounter{counter}{0}\setcounter{acheck}{0}\setcounter{bcheck}{0}\setcounter{ccheck}{0}\setcounter{dcheck}{0}\setcounter{echeck}{0}\setcounter{fcheck}{0}\setcounter{gcheck}{0}\setcounter{hcheck}{0}\setcounter{icheck}{0}
 \centering 
 \tabulinesep=3mm
 \pgfmathsetseed{\theZufall}
 \declarenumlist{group}{1}{#1}
+\pgfmathrandomitem\z{group}\setcounter{antworta}{\z}\prunelist{group}
 \ifthenelse{\numexpr#1 > 1}{\pgfmathrandomitem\z{group}\setcounter{antwortb}{\z}\prunelist{group}}{}
 \ifthenelse{\numexpr#1 > 2}{\pgfmathrandomitem\z{group}\setcounter{antwortc}{\z}\prunelist{group}}{}
 \ifthenelse{\numexpr#1 > 3}{\pgfmathrandomitem\z{group}\setcounter{antwortd}{\z}\prunelist{group}}{}

Added: trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-tables.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-tables.sty	                        (rev 0)
+++ trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-tables.sty	2021-11-04 20:42:24 UTC (rev 60951)
@@ -0,0 +1,2491 @@
+
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesPackage{srdp-tables}[2021/11/04]
+\AtEndOfPackage{\tabu at AtEnd \let\tabu at AtEnd \@undefined}
+\let\tabu at AtEnd\@empty
+\def\TMP at EnsureCode#1={%
+    \edef\tabu at AtEnd{\tabu at AtEnd
+                     \catcode#1 \the\catcode#1}%
+    \catcode#1=%
+}% \TMP at EnsureCode
+\TMP at EnsureCode 33 = 12 % !
+\TMP at EnsureCode 58 = 12 % : (for siunitx)
+\TMP at EnsureCode124 = 12 % |
+\TMP at EnsureCode 36 =  3 % $ = math shift
+\TMP at EnsureCode 38 =  4 % & = tab alignmment character
+\TMP at EnsureCode 32 = 10 % space
+\TMP at EnsureCode 94 =  7 % ^
+\TMP at EnsureCode 95 =  8 % _
+%% Constants --------------------------------------------------------
+\newcount \c at taburow        \def\thetaburow {\number\c at taburow}
+\newcount \tabu at nbcols
+\newcount \tabu at cnt
+\newcount \tabu at Xcol
+\let\tabu at start \@tempcnta
+\let\tabu at stop  \@tempcntb
+\newcount \tabu at alloc  \tabu at alloc=\m at ne
+\newcount \tabu at nested
+\def\tabu at alloc@{\global\advance\tabu at alloc \@ne \tabu at nested\tabu at alloc}
+\newdimen \tabu at target
+\newdimen \tabu at spreadtarget
+\newdimen \tabu at naturalX
+\newdimen \tabucolX
+\let\tabu at DELTA \@tempdimc
+\let\tabu at thick \@tempdima
+\let\tabu at on    \@tempdimb
+\let\tabu at off   \@tempdimc
+\newdimen \tabu at Xsum
+\newdimen \extrarowdepth
+\newdimen \abovetabulinesep
+\newdimen \belowtabulinesep
+\newdimen \tabustrutrule      \tabustrutrule \z@
+\newtoks \tabu at thebody
+\newtoks \tabu at footnotes
+\newsavebox \tabu at box
+\newsavebox \tabu at arstrutbox
+\newsavebox \tabu at hleads
+\newsavebox \tabu at vleads
+\newif \iftabu at colortbl
+\newif \iftabu at siunitx
+\newif \iftabu at measuring
+\newif \iftabu at spread
+\newif \iftabu at negcoef
+\newif \iftabu at everyrow
+\def\tabu at everyrowtrue {\global\let\iftabu at everyrow \iftrue}
+\def\tabu at everyrowfalse{\global\let\iftabu at everyrow \iffalse}
+\newif \iftabu at long
+\newif \iftabuscantokens
+\def\tabu at rescan {\tabu at verbatim \scantokens  }
+%% Utilities (for internal usage) -----------------------------------
+\def\tabu at gobblespace #1  {#1}
+\def\tabu at gobbletoken #1#2{#1}
+\def\tabu at gobbleX{\futurelet\@let at token \tabu at gobblex}
+\def\tabu at gobblex{\if ^^J\noexpand\@let at token \expandafter\@gobble
+                  \else\ifx \@sptoken\@let at token
+                    \expandafter\tabu at gobblespace\expandafter\tabu at gobbleX
+                  \fi\fi
+}% \tabu at gobblex
+\def\tabu at X{^^J}
+{\obeyspaces
+\global\let\tabu at spxiii= % saves an active space (for \ifx)
+\gdef\tabu@@spxiii{ }}
+\def\tabu at ifenvir {% only for \multicolumn
+    \expandafter\tabu at if@nvir\csname\@currenvir\endcsname
+}% \tabu at ifenvir
+\def\tabu at if@nvir #1{\csname @\ifx\tabu#1first\else
+                              \ifx\longtabu#1first\else
+                              second\fi\fi oftwo\endcsname
+}% \tabu at ifenvir
+\def\tabu at modulo #1#2{\numexpr\ifnum\numexpr#1=\z@ 0\else #1-(#1-(#2-1)/2)/(#2)*(#2)\fi}
+{\catcode`\&=3
+\gdef\tabu at strtrim  #1{% #1 = control sequence to trim
+    \ifodd 1\ifx #1\@empty \else \ifx #1\space \else 0\fi \fi
+            \let\tabu at c@l at r \@empty       \let#1\@empty
+    \else   \expandafter  \tabu at trimspaces  #1&#1\@nnil
+    \fi
+}% \tabu at strtrim
+\gdef\tabu at trimspaces #1&#2\@nnil{\let\tabu at c@l at r=#2\tabu at firstspace .#1& &#2}%
+\gdef\tabu at firstspace #1#2#3 &{\tabu at lastspace #2#3&}
+\gdef\tabu at lastspace #1&#2&#3{\def #3{#1}%
+    \ifx #3\tabu at c@l at r \def\tabu at c@l at r{\protect\color{#1}}\expandafter\remove at to@nnil \fi
+    \tabu at trimspaces #1&#3\@nnil}
+}% \catcode
+\def\tabu at sanitizearg #1#2{{%
+    \csname \ifcsname if at safe@actives\endcsname         % <babel>
+                      @safe at activestrue\else
+                      relax\fi       \endcsname
+    \edef#2{#1}\tabu at strtrim#2\@onelevel at sanitize#2%
+    \expandafter}\expandafter\def\expandafter#2\expandafter{#2}%
+}% \tabu at sanitizearg
+\def\tabu at textbar #1{\begingroup \endlinechar\m at ne \scantokens{\def\:{|}}%
+    \expandafter\endgroup \expandafter#1\:% !!! semi simple group !!!
+}% \tabu at textbar
+\def\tabu at everyrow@bgroup{\iftabu at everyrow \begingroup \else \noalign{\ifnum0=`}\fi \fi}
+\def\tabu at everyrow@egroup{%
+    \iftabu at everyrow \expandafter \endgroup \the\toks@
+    \else            \ifnum0=`{\fi}%
+    \fi
+}% \tabu at everyrow@egroup
+\def\tabu at arstrut {\global\setbox\@arstrutbox \hbox{\vrule
+    height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+    depth  \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+    width  \z@}%
+}% \tabu at arstrut
+\def\tabu at rearstrut {%
+    \@tempdima \arraystretch\dimexpr\ht\strutbox+\extrarowheight \relax
+    \@tempdimb \arraystretch\dimexpr\dp\strutbox+\extrarowdepth  \relax
+    \ifodd 1\ifdim \ht\@arstrutbox=\@tempdima
+            \ifdim \dp\@arstrutbox=\@tempdimb 0 \fi\fi
+        \tabu at mkarstrut
+    \fi
+}% \tabu at rearstrut
+\def\tabu@@DBG #1{\ifdim\tabustrutrule>\z@ \color{#1}\fi}
+\def\tabu at DBG@arstrut {\global\setbox\@arstrutbox
+    \hbox to\z@{\hbox to\z@{\hss
+    {\tabu at DBG{cyan}\vrule
+    height \arraystretch \dimexpr\ht\strutbox+\extrarowheight
+    depth  \z@
+    width  \tabustrutrule}\kern-\tabustrutrule
+    {\tabu at DBG{pink}\vrule
+    height \z@
+    depth  \arraystretch \dimexpr\dp\strutbox+\extrarowdepth
+    width \tabustrutrule}}}%
+}% \tabu at DBG@arstrut
+\def\tabu at save@decl{\toks\count@ \expandafter{\the\toks\expandafter\count@
+                                                              \@nextchar}}%
+\def\tabu at savedecl{\ifcat$\d at llarend\else
+       \let\save at decl \tabu at save@decl \fi % no inversion of tokens in text mode
+}% \tabu at savedecl
+\def\tabu at finalstrut #1{\unskip\ifhmode\nobreak\fi\vrule height\z@ depth\z@ width\z@}
+\newcommand*\tabuDisableCommands {\g at addto@macro\tabu at trialh@@k }
+\let\tabu at trialh@@k \@empty
+\def\tabu at nowrite #1#{{\afterassignment}\toks@}
+\let\tabu at write\write
+\let\tabu at immediate\immediate
+\def\tabu at WRITE{\begingroup
+   \def\immediate\write{\aftergroup\endgroup
+                  \tabu at immediate\tabu at write}%
+}% \tabu at WRITE
+\expandafter\def\expandafter\tabu at GenericError\expandafter{%
+                      \expandafter\tabu at WRITE\GenericError}
+\def\tabu at warn{\tabu at WRITE\PackageWarning{tabu}}
+\def\tabu at noxfootnote [#1]{\@gobble}
+\def\tabu at nocolor #1#{\@gobble}
+\newcommand*\tabu at norowcolor[2][]{}
+\def\tabu at maybesiunitx #1{\def\tabu at temp{#1}%
+                          \futurelet\@let at token \tabu at m@ybesiunitx}
+\def\tabu at m@ybesiunitx #1{\def\tabu at m@ybesiunitx {%
+    \ifx #1\@let at token \let\tabu at cellleft \@empty \let\tabu at cellright \@empty \fi
+    \tabu at temp}% \tabu at m@ybesiunitx
+}\expandafter\tabu at m@ybesiunitx \csname siunitx_table_collect_begin:Nn\endcsname
+\def\tabu at celllalign@def #1{\def\tabu at celllalign{\tabu at maybesiunitx{#1}}}%
+%% Fixed vertical spacing adjustment: \extrarowsep ------------------
+\newcommand*\extrarowsep{\edef\tabu at C@extra{\the\numexpr\tabu at C@extra+1}%
+    \iftabu at everyrow    \aftergroup\tabu at Gextra
+    \else               \aftergroup\tabu at n@Gextra
+    \fi
+    \@ifnextchar={\tabu at gobbletoken\tabu at extra} \tabu at extra
+}% \extrarowsep
+\def\tabu at extra {\@ifnextchar_%
+    {\tabu at gobbletoken{\tabu at setextra\extrarowheight \extrarowdepth}}
+    {\ifx ^\@let at token \def\tabu at temp{%
+            \tabu at gobbletoken{\tabu at setextra\extrarowdepth \extrarowheight}}%
+    \else   \let\tabu at temp \@empty
+            \afterassignment \tabu at setextrasep \extrarowdepth
+    \fi \tabu at temp}%
+}% \tabu at extra
+\def\tabu at setextra #1#2{\def\tabu at temp{\tabu at extr@#1#2}\afterassignment\tabu at temp#2}
+\def\tabu at extr@ #1#2{\@ifnextchar^%
+    {\tabu at gobbletoken{\tabu at setextra\extrarowdepth \extrarowheight}}
+    {\ifx _\@let at token \def\tabu at temp{%
+            \tabu at gobbletoken{\tabu at setextra\extrarowheight \extrarowdepth}}%
+    \else   \let\tabu at temp \@empty
+            \tabu at Gsave \tabu at G@extra \tabu at C@extra \extrarowheight \extrarowdepth
+    \fi \tabu at temp}%
+}% \tabu at extr@
+\def\tabu at setextrasep {\extrarowheight=\extrarowdepth
+    \tabu at Gsave \tabu at G@extra \tabu at C@extra \extrarowheight \extrarowdepth
+}% \tabu at setextrasep
+\def\tabu at Gextra{\ifx \tabu at G@extra\@empty \else {\tabu at Rextra}\fi}
+\def\tabu at n@Gextra{\ifx \tabu at G@extra\@empty \else \noalign{\tabu at Rextra}\fi}
+\def\tabu at Rextra{\tabu at Grestore \tabu at G@extra \tabu at C@extra}
+\let\tabu at C@extra \z@
+\let\tabu at G@extra \@empty
+%% Dynamic vertical spacing adjustment: \tabulinesep ----------------
+\newcommand*\tabulinesep{\edef\tabu at C@linesep{\the\numexpr\tabu at C@linesep+1}%
+    \iftabu at everyrow    \aftergroup\tabu at Glinesep
+    \else               \aftergroup\tabu at n@Glinesep
+    \fi
+    \@ifnextchar={\tabu at gobbletoken\tabu at linesep} \tabu at linesep
+}% \tabulinesep
+\def\tabu at linesep {\@ifnextchar_%
+    {\tabu at gobbletoken{\tabu at setsep\abovetabulinesep \belowtabulinesep}}
+    {\ifx ^\@let at token \def\tabu at temp{%
+            \tabu at gobbletoken{\tabu at setsep\belowtabulinesep \abovetabulinesep}}%
+     \else  \let\tabu at temp \@empty
+            \afterassignment \tabu at setlinesep \abovetabulinesep
+     \fi \tabu at temp}%
+}% \tabu at linesep
+\def\tabu at setsep #1#2{\def\tabu at temp{\tabu at sets@p#1#2}\afterassignment\tabu at temp#2}
+\def\tabu at sets@p #1#2{\@ifnextchar^%
+    {\tabu at gobbletoken{\tabu at setsep\belowtabulinesep \abovetabulinesep}}
+    {\ifx _\@let at token \def\tabu at temp{%
+            \tabu at gobbletoken{\tabu at setsep\abovetabulinesep \belowtabulinesep}}%
+    \else   \let\tabu at temp \@empty
+            \tabu at Gsave \tabu at G@linesep \tabu at C@linesep \abovetabulinesep \belowtabulinesep
+    \fi \tabu at temp}%
+}% \tabu at sets@p
+\def\tabu at setlinesep {\belowtabulinesep=\abovetabulinesep
+    \tabu at Gsave \tabu at G@linesep \tabu at C@linesep \abovetabulinesep \belowtabulinesep
+}% \tabu at setlinesep
+\def\tabu at Glinesep{\ifx \tabu at G@linesep\@empty \else {\tabu at Rlinesep}\fi}
+\def\tabu at n@Glinesep{\ifx \tabu at G@linesep\@empty \else \noalign{\tabu at Rlinesep}\fi}
+\def\tabu at Rlinesep{\tabu at Grestore \tabu at G@linesep \tabu at C@linesep}
+\let\tabu at C@linesep \z@
+\let\tabu at G@linesep \@empty
+%% \global\extrarowsep  and  \global\tabulinesep  -------------------
+\def\tabu at Gsave #1#2#3#4{\xdef#1{#1%
+    \toks#2{\toks\the\currentgrouplevel{\global#3\the#3\global#4\the#4}}}%
+}% \tabu at Gsave
+\def\tabu at Grestore#1#2{%
+    \toks#2{}#1\toks\currentgrouplevel\expandafter{\expandafter}\the\toks#2\relax
+    \ifcat$\the\toks\currentgrouplevel$\else
+        \global\let#1\@empty \global\let#2\z@
+        \the\toks\currentgrouplevel
+    \fi
+}% \tabu at Grestore
+%% Setting code for every row ---------------------------------------
+\newcommand*\everyrow{\tabu at everyrow@bgroup
+                      \tabu at start \z@ \tabu at stop \z@ \tabu at evrstartstop
+}% \everyrow
+\def\tabu at evrstartstop {\@ifnextchar^%
+    {\afterassignment \tabu at evrstartstop \tabu at stop=}%
+    {\ifx ^\@let at token
+            \afterassignment\tabu at evrstartstop \tabu at start=%
+     \else  \afterassignment\tabu at everyr@w     \toks@
+     \fi}%
+}% \tabu at evrstartstop
+\def\tabu at everyr@w {%
+    \xdef\tabu at everyrow{%
+        \noexpand\tabu at everyrowfalse
+        \let\noalign \relax
+        \noexpand\tabu at rowfontreset
+        \iftabu at colortbl \noexpand\tabu at rc@ \fi % \taburowcolors
+        \let\noexpand\tabu at docline \noexpand\tabu at docline@evr
+        \the\toks@
+        \noexpand\tabu at evrh@@k
+        \noexpand\tabu at rearstrut
+        \global\advance\c at taburow \@ne}%
+    \iftabu at everyrow \toks@\expandafter
+        {\expandafter\def\expandafter\tabu at evr@L\expandafter{\the\toks@}\ignorespaces}%
+    \else \xdef\tabu at evr@G{\the\toks@}%
+    \fi
+    \tabu at everyrow@egroup
+}% \tabu at everyr@w
+\def\tabu at evr {\def\tabu at evrh@@k}         % for internal use only
+\tabu at evr{}
+%% line style and leaders -------------------------------------------
+\newcommand*\newtabulinestyle [1]{%
+    {\@for \@tempa :=#1\do{\expandafter\tabu at newlinestyle \@tempa==\@nil}}%
+}% \newtabulinestyle
+\def\tabu at newlinestyle #1=#2=#3\@nil{\tabu at getline {#2}%
+    \tabu at sanitizearg {#1}\@tempa
+    \ifodd 1\ifx \@tempa\@empty \ifdefined\tabu at linestyle@ 0 \fi\fi
+    \global\expandafter\let
+        \csname tabu at linestyle@\@tempa \endcsname =\tabu at thestyle \fi
+}% \tabu at newlinestyle
+\newcommand*\tabulinestyle [1]{\tabu at everyrow@bgroup \tabu at getline{#1}%
+    \iftabu at everyrow
+        \toks@\expandafter{\expandafter \def \expandafter
+                    \tabu at ls@L\expandafter{\tabu at thestyle}\ignorespaces}%
+        \gdef\tabu at ls@{\tabu at ls@L}%
+    \else
+        \global\let\tabu at ls@G \tabu at thestyle
+        \gdef\tabu at ls@{\tabu at ls@G}%
+    \fi
+    \tabu at everyrow@egroup
+}% \tabulinestyle
+\newcommand*\taburulecolor{\tabu at everyrow@bgroup \tabu at textbar \tabu at rulecolor}
+\def\tabu at rulecolor #1{\toks@{}%
+    \def\tabu at temp #1##1#1{\tabu at ruledrsc{##1}}\@ifnextchar #1%
+                                                    \tabu at temp
+                                                 \tabu at rulearc
+}% \tabu at rulecolor
+\def\tabu at ruledrsc #1{\edef\tabu at temp{#1}\tabu at strtrim\tabu at temp
+    \ifx \tabu at temp\@empty \def\tabu at temp{\tabu at rule@drsc@ {}{}}%
+    \else \edef\tabu at temp{\noexpand\tabu at rule@drsc@ {}{\tabu at temp}}%
+    \fi
+    \tabu at temp
+}% \tabu at ruledrsc@
+\def\tabu at ruledrsc@   #1#{\tabu at rule@drsc@ {#1}}
+\def\tabu at rule@drsc@ #1#2{%
+    \iftabu at everyrow
+        \ifx \\#1#2\\\toks@{\let\CT at drsc@ \relax}%
+        \else        \toks@{\def\CT at drsc@{\color #1{#2}}}%
+        \fi
+    \else
+        \ifx \\#1#2\\\global\let\CT at drsc@ \relax
+        \else        \gdef\CT at drsc@{\color #1{#2}}%
+        \fi
+    \fi
+    \tabu at rulearc
+}% \tabu at rule@drsc@
+\def\tabu at rulearc    #1#{\tabu at rule@arc@ {#1}}
+\def\tabu at rule@arc@ #1#2{%
+    \iftabu at everyrow
+        \ifx \\#1#2\\\toks@\expandafter{\the\toks@ \def\CT at arc@{}}%
+        \else        \toks@\expandafter{\the\toks@ \def\CT at arc@{\color #1{#2}}}%
+        \fi
+        \toks@\expandafter{\the\toks@
+            \let\tabu at arc@L  \CT at arc@
+            \let\tabu at drsc@L \CT at drsc@
+            \ignorespaces}%
+    \else
+        \ifx \\#1#2\\\gdef\CT at arc@{}%
+        \else        \gdef\CT at arc@{\color #1{#2}}%
+        \fi
+        \global\let\tabu at arc@G  \CT at arc@
+        \global\let\tabu at drsc@G \CT at drsc@
+    \fi
+    \tabu at everyrow@egroup
+}% \tabu at rule@arc@
+\def\taburowcolors {\tabu at everyrow@bgroup \@testopt \tabu at rowcolors 1}
+\def\tabu at rowcolors [#1]#2#{\tabu at rowc@lors{#1}{#2}}
+\def\tabu at rowc@lors #1#2#3{%
+    \toks@{}\@defaultunits \count@      =\number0#2\relax \@nnil
+            \@defaultunits \tabu at start  =\number0#1\relax \@nnil
+    \ifnum \count@<\tw@ \count@=\tw@ \fi
+    \advance\tabu at start \m at ne
+    \ifnum \tabu at start<\z@ \tabu at start \z@ \fi
+    \tabu at rowcolorseries #3\in at ..\in@ \@nnil
+}% \tabu at rowcolors
+\def\tabu at rowcolorseries #1..#2\in@ #3\@nnil {%
+    \ifx \in@#1\relax
+        \iftabu at everyrow \toks@{\def\tabu at rc@{}\let\tabu at rc@L \tabu at rc@}%
+        \else   \gdef\tabu at rc@{}\global\let\tabu at rc@G \tabu at rc@
+        \fi
+    \else
+        \ifx \\#2\\\tabu at rowcolorserieserror \fi
+        \tabu at sanitizearg{#1}\tabu at temp
+        \tabu at sanitizearg{#2}\@tempa
+        \advance\count@ \m at ne
+    \iftabu at everyrow
+        \def\tabu at rc@ ##1##2##3##4{\def\tabu at rc@{%
+            \ifnum ##2=\c at taburow
+                \definecolorseries{tabu at rcseries@\the\tabu at nested}{rgb}{last}{##3}{##4}\fi
+            \ifnum \c at taburow<##2 \else
+                \ifnum \tabu at modulo {\c at taburow-##2}{##1+1}=\z@
+                    \resetcolorseries[{##1}]{tabu at rcseries@\the\tabu at nested}\fi
+                \xglobal\colorlet{tabu at rc@\the\tabu at nested}{tabu at rcseries@\the\tabu at nested!!+}%
+                \rowcolor{tabu at rc@\the\tabu at nested}\fi}%
+        }\edef\x{\noexpand\tabu at rc@           {\the\count@}
+                                          {\the\tabu at start}
+                                               {\tabu at temp}
+                                                  {\@tempa}%
+                }\x
+        \toks@\expandafter{\expandafter\def\expandafter\tabu at rc@\expandafter{\tabu at rc@}}%
+        \toks@\expandafter{\the\toks@ \let\tabu at rc@L \tabu at rc@ \ignorespaces}%
+    \else   % inside \noalign
+        \definecolorseries{tabu at rcseries@\the\tabu at nested}{rgb}{last}{\tabu at temp}{\@tempa}%
+        \expandafter\resetcolorseries\expandafter[\the\count@]{tabu at rcseries@\the\tabu at nested}%
+        \xglobal\colorlet{tabu at rc@\the\tabu at nested}{tabu at rcseries@\the\tabu at nested!!+}%
+        \let\noalign \relax \rowcolor{tabu at rc@\the\tabu at nested}%
+        \def\tabu at rc@ ##1##2{\gdef\tabu at rc@{%
+            \ifnum \tabu at modulo {\c at taburow-##2}{##1+1}=\@ne
+                \resetcolorseries[{##1}]{tabu at rcseries@\the\tabu at nested}\fi
+            \xglobal\colorlet{tabu at rc@\the\tabu at nested}{tabu at rcseries@\the\tabu at nested!!+}%
+            \rowcolor{tabu at rc@\the\tabu at nested}}%
+        }\edef\x{\noexpand\tabu at rc@{\the\count@}{\the\c at taburow}}\x
+        \global\let\tabu at rc@G \tabu at rc@
+    \fi
+    \fi
+    \tabu at everyrow@egroup
+}% \tabu at rowcolorseries
+\tabuDisableCommands {\let\tabu at rc@ \@empty }
+\def\tabu at rowcolorserieserror {\PackageError{tabu}
+    {Invalid syntax for \string\taburowcolors
+    \MessageBreak Please look at the documentation!}\@ehd
+}% \tabu at rowcolorserieserror
+\newcommand*\tabureset {%
+    \tabulinesep=\z@ \extrarowsep=\z@ \extratabsurround=\z@
+    \tabulinestyle{}\everyrow{}\taburulecolor||{}\taburowcolors{}%
+}% \tabureset
+%% Parsing the line styles ------------------------------------------
+\def\tabu at getline #1{\begingroup
+    \csname \ifcsname if at safe@actives\endcsname         % <babel>
+                      @safe at activestrue\else
+                      relax\fi       \endcsname
+    \edef\tabu at temp{#1}\tabu at sanitizearg{#1}\@tempa
+    \let\tabu at thestyle \relax
+    \ifcsname tabu at linestyle@\@tempa \endcsname
+            \edef\tabu at thestyle{\endgroup
+                \def\tabu at thestyle{\expandafter\noexpand
+                    \csname tabu at linestyle@\@tempa\endcsname}%
+            }\tabu at thestyle
+    \else   \expandafter\tabu at definestyle \tabu at temp \@nil
+    \fi
+}% \tabu at getline
+\def\tabu at definestyle #1#2\@nil {\endlinechar \m at ne \makeatletter
+    \tabu at thick \maxdimen  \tabu at on \maxdimen   \tabu at off \maxdimen
+    \let\tabu at c@lon \@undefined  \let\tabu at c@loff \@undefined
+    \ifodd 1\ifcat .#1\else\ifcat\relax #1\else 0\fi\fi % catcode 12 or non expandable cs
+            \def\tabu at temp{\tabu at getparam{thick}}%
+    \else   \def\tabu at temp{\tabu at getparam{thick}\maxdimen}%
+    \fi
+    {%
+        \let\tabu@ \relax
+        \def\:{\obeyspaces \tabu at oXIII \tabu at commaXIII \edef\:}% (space active \: happy ;-))
+        \scantokens{\:{\tabu at temp #1#2 \tabu@\tabu@}}%
+                        \expandafter}\expandafter
+                                \def\expandafter\:\expandafter{\:}% line spec rewritten now ;-)
+    \def\;{\def\:}%
+    \scantokens\expandafter{\expandafter\;\expandafter{\:}}% space is now inactive (catcode 10)
+    \let\tabu@ \tabu at getcolor    \:%    all arguments are ready now ;-)
+    \ifdefined\tabu at c@lon \else \let\tabu at c@lon\@empty \fi
+    \ifx \tabu at c@lon\@empty \def\tabu at c@lon{\CT at arc@}\fi
+    \ifdefined\tabu at c@loff \else \let\tabu at c@loff \@empty        \fi
+    \ifdim \tabu at on=\maxdimen \ifdim \tabu at off<\maxdimen
+                                  \tabu at on \tabulineon        \fi\fi
+    \ifdim \tabu at off=\maxdimen \ifdim \tabu at on<\maxdimen
+                                  \tabu at off \tabulineoff      \fi\fi
+    \ifodd 1\ifdim \tabu at off=\maxdimen \ifdim \tabu at on=\maxdimen 0 \fi\fi
+            \in at true    % <leaders>
+    \else   \in at false   % <rule>
+    \fi
+    \ifdim\tabu at thick=\maxdimen \def\tabu at thick{\arrayrulewidth}%
+    \else                       \edef\tabu at thick{\the\tabu at thick}%
+    \fi
+    \edef \tabu at thestyle ##1##2{\endgroup
+        \def\tabu at thestyle{%
+            \ifin@  \noexpand\tabu at leadersstyle {\tabu at thick}
+                                                {\the\tabu at on}{##1}
+                                                {\the\tabu at off}{##2}%
+            \else   \noexpand\tabu at rulesstyle
+                            {##1\vrule width \tabu at thick}%
+                            {##1\leaders \hrule height \tabu at thick \hfil}%
+            \fi}%
+    }\expandafter \expandafter
+        \expandafter \tabu at thestyle \expandafter
+            \expandafter \expandafter
+                {\expandafter\tabu at c@lon\expandafter}\expandafter{\tabu at c@loff}%
+}% \tabu at definestyle
+{\catcode`\O=\active \lccode`\O=`\o \catcode`\,=\active
+    \lowercase{\gdef\tabu at oXIII {\catcode`\o=\active \let O=\tabu at oxiii}}
+    \gdef\tabu at commaXIII {\catcode`\,=\active \let ,=\space}
+}% \catcode
+\def\tabu at oxiii #1{%
+    \ifcase  \ifx n#1\z@ \else
+             \ifx f#1\@ne\else
+             \tw@       \fi\fi
+          \expandafter\tabu at onxiii
+    \or   \expandafter\tabu at ofxiii
+    \else o%
+    \fi#1}%
+\def\tabu at onxiii #1#2{%
+    \ifcase  \ifx  !#2\tw@          \else
+             \ifcat.\noexpand#2\z@  \else
+             \ifx \tabu at spxiii#2\@ne\else
+             \tw@               \fi\fi\fi
+          \tabu at getparam{on}#2\expandafter\@gobble
+    \or   \expandafter\tabu at onxiii    % (space is active)
+    \else o\expandafter\@firstofone
+    \fi{#1#2}}%
+\def\tabu at ofxiii #1#2{%
+    \ifx #2f\expandafter\tabu at offxiii
+    \else   o\expandafter\@firstofone
+    \fi{#1#2}}
+\def\tabu at offxiii #1#2{%
+    \ifcase \ifx  !#2\tw@           \else
+            \ifcat.\noexpand#2\z@   \else
+            \ifx\tabu at spxiii#2\@ne  \else
+            \tw@                \fi\fi\fi
+          \tabu at getparam{off}#2\expandafter\@gobble
+    \or   \expandafter\tabu at offxiii   % (space is active)
+    \else o\expandafter\@firstofone
+    \fi{#1#2}}
+\def\tabu at getparam #1{\tabu@ \csname tabu@#1\endcsname=}
+\def\tabu at getcolor #1{% \tabu@ <- \tabu at getcolor after \edef
+    \ifx \tabu@#1\else   % no more spec
+        \let\tabu at theparam=#1\afterassignment \tabu at getc@l at r #1\fi
+}% \tabu at getcolor
+\def\tabu at getc@l at r #1\tabu@ {%
+    \def\tabu at temp{#1}\tabu at strtrim \tabu at temp
+    \ifx \tabu at temp\@empty
+    \else%\ifcsname \string\color@\tabu at temp \endcsname  % if the color exists
+        \ifx \tabu at theparam \tabu at off   \let\tabu at c@loff \tabu at c@l at r
+        \else                           \let\tabu at c@lon  \tabu at c@l at r
+        \fi
+    %\else \tabu at warncolour{\tabu at temp}%
+    \fi%\fi
+    \tabu@ % next spec
+}% \tabu at getc@l at r
+\def\tabu at warncolour #1{\PackageWarning{tabu}
+    {Color #1 is not defined. Default color used}%
+}% \tabu at warncolour
+\def\tabu at leadersstyle #1#2#3#4#5{\def\tabu at leaders{{#1}{#2}{#3}{#4}{#5}}%
+    \ifx \tabu at leaders\tabu at leaders@G \else
+                \tabu at LEADERS{#1}{#2}{#3}{#4}{#5}\fi
+}% \tabu at leadersstyle
+\def\tabu at rulesstyle #1#2{\let\tabu at leaders \@undefined
+        \gdef\tabu at thevrule{#1}\gdef\tabu at thehrule{#2}%
+}% \tabu at rulesstyle
+%% The leaders boxes ------------------------------------------------
+\def\tabu at LEADERS #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+    {\let\color \tabu at color % => during trials ->  \color = \tabu at nocolor
+    {%                      %    but the leaders boxes should have colors !
+    \def\@therule{\vrule}\def\@thick{height}\def\@length{width}%
+    \def\@box{\hbox}\def\@unbox{\unhbox}\def\@elt{\wd}%
+    \def\@skip{\hskip}\def\@ss{\hss}\def\tabu at leads{\tabu at hleads}%
+    \tabu at l@@d at rs {#1}{#2}{#3}{#4}{#5}%
+    \global\let\tabu at thehleaders \tabu at theleaders
+    }%
+    {%
+    \def\@therule{\hrule}\def\@thick{width}\def\@length{height}%
+    \def\@box{\vbox}\def\@unbox{\unvbox}\def\@elt{\ht}%
+    \def\@skip{\vskip}\def\@ss{\vss}\def\tabu at leads{\tabu at vleads}%
+    \tabu at l@@d at rs {#1}{#2}{#3}{#4}{#5}%
+    \global\let\tabu at thevleaders \tabu at theleaders
+    }%
+    \gdef\tabu at leaders@G{{#1}{#2}{#3}{#4}{#5}}%
+    }%
+}% \tabu at LEADERS
+\def\tabu at therule #1#2{\@therule \@thick#1\@length\dimexpr#2/2 \@depth\z@}
+\def\tabu at l@@d at rs #1#2#3#4#5{%% width, dash, dash color, gap, gap color
+    \global\setbox \tabu at leads=\@box{%
+        {#3\tabu at therule{#1}{#2}}%
+        \ifx\\#5\\\@skip#4\else{#5\tabu at therule{#1}{#4*2}}\fi
+        {#3\tabu at therule{#1}{#2}}}%
+    \global\setbox\tabu at leads=\@box to\@elt\tabu at leads{\@ss
+        {#3\tabu at therule{#1}{#2}}\@unbox\tabu at leads}%
+    \edef\tabu at theleaders ##1{\def\noexpand\tabu at theleaders {%
+        {##1\tabu at therule{#1}{#2}}%
+        \xleaders \copy\tabu at leads \@ss
+        \tabu at therule{0pt}{-#2}{##1\tabu at therule{#1}{#2}}}%
+    }\tabu at theleaders{#3}%
+}% \tabu at l@@d at rs
+%% \tabu \endtabu \tabu* \longtabu \endlongtabu \longtabu* ----------
+\newcommand*\tabu {\tabu at longfalse
+    \ifmmode \def\tabu@ {\array}\def\endtabu {\endarray}%
+    \else  \def\tabu@ {\tabu at tabular}\def\endtabu {\endtabular}\fi
+    \expandafter\let\csname tabu*\endcsname \tabu
+    \expandafter\def\csname endtabu*\endcsname{\endtabu}%
+    \tabu at spreadfalse \tabu at negcoeffalse \tabu at settarget
+}% {tabu}
+\let\tabu at tabular \tabular % <For LyX: some users redefine \tabular...>
+\expandafter\def\csname tabu*\endcsname{\tabuscantokenstrue \tabu}
+\newcommand*\longtabu {\tabu at longtrue
+   \ifmmode\PackageError{tabu}{longtabu not allowed in math mode}\fi
+   \def\tabu@{\longtable}\def\endlongtabu{\endlongtable}%
+   \LTchunksize=\@M
+   \expandafter\let\csname tabu*\endcsname \tabu
+   \expandafter\def\csname endlongtabu*\endcsname{\endlongtabu}%
+   \let\LT at startpbox \tabu at LT@startpbox % \everypar{ array struts }
+   \tabu at spreadfalse \tabu at negcoeffalse \tabu at settarget
+}% {longtabu}
+\expandafter\def\csname longtabu*\endcsname{\tabuscantokenstrue \longtabu}
+\def\tabu at nolongtabu{\PackageError{tabu}
+   {longtabu requires the longtable package}\@ehd}
+%% Read the target and  then : \tabular or \@array ------------------
+\def\tabu at settarget {\futurelet\@let at token \tabu at sett@rget }
+\def\tabu at sett@rget {\tabu at target \z@
+   \ifcase \ifx \bgroup\@let at token   \z@  \else
+           \ifx \@sptoken\@let at token \@ne \else
+           \if t\@let at token          \tw@ \else
+           \if s\@let at token          \thr@@\else
+           \z@\fi\fi\fi\fi
+         \expandafter\tabu at begin
+   \or   \expandafter\tabu at gobblespace\expandafter\tabu at settarget
+   \or   \expandafter\tabu at to
+   \or   \expandafter\tabu at spread
+   \fi
+}% \tabu at sett@rget
+\def\tabu at to to{\def\tabu at halignto{to}\tabu at gettarget}
+\def\tabu at spread spread{\tabu at spreadtrue\def\tabu at halignto{spread}\tabu at gettarget}
+\def\tabu at gettarget {\afterassignment\tabu at linegoaltarget \tabu at target }
+\def\tabu at linegoaltarget {\futurelet\tabu at temp \tabu at linegoalt@rget }
+\def\tabu at linegoalt@rget {%
+   \ifx \tabu at temp\LNGL at setlinegoal
+        \LNGL at setlinegoal \expandafter \@firstoftwo \fi % @gobbles \LNGL at setlinegoal
+   \tabu at begin
+}% \tabu at linegoalt@rget
+\def\tabu at begin #1#{%
+    \iftabu at measuring \expandafter\tabu at nestedmeasure \fi
+    \ifdim \tabu at target=\z@ \let\tabu at halignto \@empty
+    \else                   \edef\tabu at halignto{\tabu at halignto\the\tabu at target}%
+    \fi
+    \@testopt \tabu at tabu@ \tabu at aligndefault #1\@nil
+}% \tabu at begin
+\long\def\tabu at tabu@ [#1]#2\@nil #3{\tabu at setup
+   \def\tabu at align {#1}\def\tabu at savedpream{\NC at find #3}%
+   \tabu@ [\tabu at align ]#2{#3\tabu at rewritefirst }%
+}% \tabu at tabu@
+\def\tabu at nestedmeasure {%
+    \ifodd 1\iftabu at spread \else \ifdim\tabu at target=\z@ \else 0 \fi\fi\relax
+            \tabu at spreadtrue
+    \else   \begingroup \iffalse{\fi \ifnum0=`}\fi
+            \toks@{}\def\tabu at stack{b}%
+            \expandafter\tabu at collectbody\expandafter\tabu at quickrule
+                                         \expandafter\endgroup
+    \fi
+}% \tabu at nestedmeasure
+\def\tabu at quickrule {\indent\vrule height\z@ depth\z@ width\tabu at target}
+%% \tabu at setup  \tabu at init  \tabu at indent
+\def\tabu at setup{\tabu at alloc@
+    \ifcase \tabu at nested
+        \ifmmode \else \iftabu at spread\else \ifdim\tabu at target=\z@
+            \let\tabu at afterendpar \par
+        \fi\fi\fi
+        \def\tabu at aligndefault{c}\tabu at init \tabu at indent
+    \else       % <nested tabu>
+        \def\tabu at aligndefault{t}\let\tabudefaulttarget \linewidth
+    \fi
+    \let\tabu at thetarget \tabudefaulttarget \let\tabu at restored \@undefined
+    \edef\tabu at NC@list{\the\NC at list}\NC at list{\NC at do \tabu at rewritefirst}%
+    \everycr{}\let\@startpbox \tabu at startpbox % for nested tabu inside longtabu...
+              \let\@endpbox   \tabu at endpbox   % idem "    "    "    "    "    "
+              \let\@tabarray  \tabu at tabarray  % idem "    "    "    "    "    "
+    \tabu at setcleanup \tabu at setreset
+}% \tabu at setup
+\def\tabu at init{\tabu at starttimer \tabu at measuringfalse
+    \edef\tabu at hfuzz  {\the\dimexpr\hfuzz+1sp}\global\tabu at footnotes{}%
+    \let\firsthline    \tabu at firsthline   \let\lasthline      \tabu at lasthline
+    \let\firstline     \tabu at firstline    \let\lastline       \tabu at lastline
+    \let\hline         \tabu at hline        \let\@xhline        \tabu at xhline
+    \let\color         \tabu at color        \let\@arstrutbox    \tabu at arstrutbox
+    \iftabu at colortbl\else\let\LT@@hline   \tabu at LT@@hline \fi
+    \tabu at trivlist     %<restore \\=\@normalcr inside lists>
+    \let\@footnotetext \tabu at footnotetext \let\@xfootnotetext \tabu at xfootnotetext
+    \let\@xfootnote    \tabu at xfootnote    \let\centering      \tabu at centering
+    \let\raggedright   \tabu at raggedright  \let\raggedleft     \tabu at raggedleft
+    \let\tabudecimal   \tabu at tabudecimal  \let\Centering      \tabu at Centering
+    \let\RaggedRight   \tabu at RaggedRight  \let\RaggedLeft     \tabu at RaggedLeft
+    \let\justifying    \tabu at justifying   \let\rowfont        \tabu at rowfont
+    \let\fbox          \tabu at fbox         \let\color at b@x      \tabu at color@b at x
+    \let\tabu@@everycr \everycr           \let\tabu@@everypar \everypar
+    \let\tabu at prepnext@tokORI \prepnext at tok\let\prepnext at tok  \tabu at prepnext@tok
+    \let\tabu at multicolumnORI\multicolumn  \let\multicolumn    \tabu at multicolumn
+    \let\tabu at startpbox \@startpbox      % for nested tabu inside longtabu pfff !!!
+    \let\tabu at endpbox   \@endpbox        % idem  "    "    "    "    "    "    "
+    \let\tabu at tabarray  \@tabarray       % idem  "    "    "    "    "    "    "
+    \tabu at adl@fix      \let\endarray      \tabu at endarray % <fix> colortbl & arydshln (delarray)
+    \iftabu at colortbl\CT at everycr\expandafter{\expandafter\iftabu at everyrow \the\CT at everycr \fi}\fi
+}% \tabu at init
+\def\tabu at indent{% correction for indentation
+    \ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
+    \everypar\expandafter{%
+        \the\everypar\everypar\expandafter{\the\everypar}%
+            \setbox\z@=\lastbox
+            \ifdim\wd\z@>\z@ \edef\tabu at thetarget
+                {\the\dimexpr -\wd\z at +\tabudefaulttarget}\fi
+            \box\z@}%
+    \fi\fi
+}% \tabu at indent
+\def\tabu at setcleanup {% saves last global assignments
+    \ifodd 1\ifmmode \else \iftabu at long \else 0\fi\fi\relax
+        \def\tabu at aftergroupcleanup{%
+                \def\tabu at aftergroupcleanup{\aftergroup\tabu at cleanup}}%
+    \else
+        \def\tabu at aftergroupcleanup{%
+                \aftergroup\aftergroup\aftergroup\tabu at cleanup
+                \let\tabu at aftergroupcleanup \relax}%
+    \fi
+    \let\tabu at arc@Gsave         \tabu at arc@G
+    \let\tabu at arc@G             \tabu at arc@L   % <init>
+    \let\tabu at drsc@Gsave        \tabu at drsc@G
+    \let\tabu at drsc@G            \tabu at drsc@L  % <init>
+    \let\tabu at ls@Gsave          \tabu at ls@G
+    \let\tabu at ls@G              \tabu at ls@L    % <init>
+    \let\tabu at rc@Gsave          \tabu at rc@G
+    \let\tabu at rc@G              \tabu at rc@L    % <init>
+    \let\tabu at evr@Gsave         \tabu at evr@G
+    \let\tabu at evr@G             \tabu at evr@L   % <init>
+    \let\tabu at celllalign@save   \tabu at celllalign
+    \let\tabu at cellralign@save   \tabu at cellralign
+    \let\tabu at cellleft@save     \tabu at cellleft
+    \let\tabu at cellright@save    \tabu at cellright
+    \let\tabu@@celllalign at save  \tabu@@celllalign
+    \let\tabu@@cellralign at save  \tabu@@cellralign
+    \let\tabu@@cellleft at save    \tabu@@cellleft
+    \let\tabu@@cellright at save   \tabu@@cellright
+    \let\tabu at rowfontreset@save \tabu at rowfontreset
+    \let\tabu@@rowfontreset at save\tabu@@rowfontreset
+    \let\tabu at rowfontreset      \@empty
+    \edef\tabu at alloc@save      {\the\tabu at alloc}%   restore at \tabu at reset
+    \edef\c at taburow@save       {\the\c at taburow}%
+    \edef\tabu at naturalX@save   {\the\tabu at naturalX}%
+    \let\tabu at naturalXmin@save  \tabu at naturalXmin
+    \let\tabu at naturalXmax@save  \tabu at naturalXmax
+    \let\tabu at mkarstrut@save    \tabu at mkarstrut
+    \edef\tabu at clarstrut{%
+        \extrarowheight \the\dimexpr \ht\@arstrutbox-\ht\strutbox \relax
+        \extrarowdepth \the\dimexpr \dp\@arstrutbox-\dp\strutbox \relax
+        \let\noexpand\@arraystretch \@ne \noexpand\tabu at rearstrut}%
+}% \tabu at setcleanup
+\def\tabu at cleanup {\begingroup
+    \globaldefs\@ne         \tabu at everyrowtrue
+    \let\tabu at arc@G         \tabu at arc@Gsave
+    \let\CT at arc@            \tabu at arc@G
+    \let\tabu at drsc@G        \tabu at drsc@Gsave
+    \let\CT at drsc@           \tabu at drsc@G
+    \let\tabu at ls@G          \tabu at ls@Gsave
+    \let\tabu at ls@           \tabu at ls@G
+    \let\tabu at rc@G          \tabu at rc@Gsave
+    \let\tabu at rc@           \tabu at rc@G
+    \let\CT at do@color        \relax
+    \let\tabu at evr@G         \tabu at evr@Gsave
+    \let\tabu at celllalign    \tabu at celllalign@save
+    \let\tabu at cellralign    \tabu at cellralign@save
+    \let\tabu at cellleft      \tabu at cellleft@save
+    \let\tabu at cellright     \tabu at cellright@save
+    \let\tabu@@celllalign   \tabu@@celllalign at save
+    \let\tabu@@cellralign   \tabu@@cellralign at save
+    \let\tabu@@cellleft     \tabu@@cellleft at save
+    \let\tabu@@cellright    \tabu@@cellright at save
+    \let\tabu at rowfontreset  \tabu at rowfontreset@save
+    \let\tabu@@rowfontreset \tabu@@rowfontreset at save
+    \tabu at naturalX         =\tabu at naturalX@save
+    \let\tabu at naturalXmax   \tabu at naturalXmax@save
+    \let\tabu at naturalXmin   \tabu at naturalXmin@save
+    \let\tabu at mkarstrut     \tabu at mkarstrut@save
+    \c at taburow             =\c at taburow@save
+    \ifcase \tabu at nested    \tabu at alloc \m at ne\fi
+    \endgroup               % <end of \globaldefs>
+    \ifcase \tabu at nested
+        \the\tabu at footnotes \global\tabu at footnotes{}%
+        \tabu at afterendpar   \tabu at elapsedtime
+    \fi
+    \tabu at clarstrut
+    \everyrow\expandafter   {\tabu at evr@G}%
+}% \tabu at cleanup
+\let\tabu at afterendpar \relax
+\def\tabu at setreset {%
+    \edef\tabu at savedparams {%         \relax for \tabu at message@save
+        \ifmmode \col at sep \the\arraycolsep
+        \else    \col at sep \the\tabcolsep \fi    \relax
+        \arrayrulewidth   \the\arrayrulewidth   \relax
+        \doublerulesep    \the\doublerulesep    \relax
+        \extratabsurround \the\extratabsurround \relax
+        \extrarowheight   \the\extrarowheight   \relax
+        \extrarowdepth    \the\extrarowdepth    \relax
+        \abovetabulinesep \the\abovetabulinesep \relax
+        \belowtabulinesep \the\belowtabulinesep \relax
+        \def\noexpand\arraystretch{\arraystretch}%
+        \ifdefined\minrowclearance \minrowclearance\the\minrowclearance\relax\fi}%
+    \begingroup
+        \@temptokena\expandafter{\tabu at savedparams}% => only for \savetabu / \usetabu
+        \ifx \tabu at arc@L\relax  \else \tabu at setsave \tabu at arc@L \fi
+        \ifx \tabu at drsc@L\relax \else \tabu at setsave \tabu at drsc@L \fi
+        \tabu at setsave \tabu at ls@L      \tabu at setsave \tabu at evr@L
+        \expandafter \endgroup \expandafter
+            \def\expandafter\tabu at saved@ \expandafter{\the\@temptokena
+                \let\tabu at arc@G  \tabu at arc@L
+                \let\tabu at drsc@G \tabu at drsc@L
+                \let\tabu at ls@G   \tabu at ls@L
+                \let\tabu at rc@G   \tabu at rc@L
+                \let\tabu at evr@G  \tabu at evr@L}%
+    \def\tabu at reset{\tabu at savedparams
+        \tabu at everyrowtrue  \c at taburow \z@
+        \let\CT at arc@        \tabu at arc@L
+        \let\CT at drsc@       \tabu at drsc@L
+        \let\tabu at ls@       \tabu at ls@L
+        \let\tabu at rc@       \tabu at rc@L
+        \global\tabu at alloc  \tabu at alloc@save
+        \everyrow\expandafter{\tabu at evr@L}}%
+}% \tabu at reset
+\def\tabu at setsave #1{\expandafter\tabu at sets@ve #1\@nil{#1}}
+\long\def\tabu at sets@ve #1\@nil #2{\@temptokena\expandafter{\the\@temptokena \def#2{#1}}}
+%% The Rewritting Process -------------------------------------------
+\def\tabu at newcolumntype #1{%
+    \expandafter\tabu at new@columntype
+        \csname NC at find@\string#1\expandafter\endcsname
+        \csname NC at rewrite@\string#1\endcsname
+        {#1}%
+}% \tabu at newcolumntype
+\def\tabu at new@columntype #1#2#3{%
+    \def#1##1#3{\NC@{##1}}%
+    \let#2\relax \newcommand*#2%
+}% \tabu at new@columntype
+\def\tabu at privatecolumntype #1{%
+    \expandafter\tabu at private@columntype
+        \csname NC at find@\string#1\expandafter\endcsname
+        \csname NC at rewrite@\string#1\expandafter\endcsname
+        \csname tabu at NC@find@\string#1\expandafter\endcsname
+        \csname tabu at NC@rewrite@\string#1\endcsname
+        {#1}%
+}% \tabu at privatecolumntype
+\def\tabu at private@columntype#1#2#3#4{%
+    \g at addto@macro\tabu at privatecolumns{\let#1#3\let#2#4}%
+    \tabu at new@columntype#3#4%
+}% \tabu at private@columntype
+\let\tabu at privatecolumns \@empty
+\newcommand*\tabucolumn [1]{\expandafter \def \expandafter
+    \tabu at highprioritycolumns\expandafter{\tabu at highprioritycolumns
+                                          \NC at do #1}}%
+\let\tabu at highprioritycolumns \@empty
+%% The  |  ``column'' : rewriting process --------------------------
+\tabu at privatecolumntype |{\tabu at rewritevline}
+\newcommand*\tabu at rewritevline[1][]{\tabu at vlinearg{#1}%
+                \expandafter \NC at find \tabu at rewritten}
+\def\tabu at lines #1{%
+    \ifx|#1\else \tabu at privatecolumntype #1{\tabu at rewritevline}\fi
+    \NC at list\expandafter{\the\NC at list \NC at do #1}%
+}% \tabu at lines@
+\def\tabu at vlinearg #1{%
+    \ifx\\#1\\\def\tabu at thestyle {\tabu at ls@}%
+    \else\tabu at getline {#1}%
+    \fi
+    \def\tabu at rewritten ##1{\def\tabu at rewritten{!{##1\tabu at thevline}}%
+    }\expandafter\tabu at rewritten\expandafter{\tabu at thestyle}%
+    \expandafter \tabu at keepls \tabu at thestyle \@nil
+}% \tabu at vlinearg
+\def\tabu at keepls #1\@nil{%
+    \ifcat $\@cdr #1\@nil $%
+    \ifx \relax#1\else
+    \ifx \tabu at ls@#1\else
+        \let#1\relax
+        \xdef\tabu at mkpreambuffer{\tabu at mkpreambuffer
+                \tabu at savels\noexpand#1}\fi\fi\fi
+}% \tabu at keepls
+\def\tabu at thevline {\begingroup
+    \ifdefined\tabu at leaders
+        \setbox\@tempboxa=\vtop to\dimexpr
+                      \ht\@arstrutbox+\dp\@arstrutbox{{\tabu at thevleaders}}%
+        \ht\@tempboxa=\ht\@arstrutbox \dp\@tempboxa=\dp\@arstrutbox
+        \box\@tempboxa
+    \else
+                \tabu at thevrule
+    \fi             \endgroup
+}% \tabu at thevline
+\def\tabu at savels #1{%
+    \expandafter\let\csname\string#1\endcsname #1%
+    \expandafter\def\expandafter\tabu at reset\expandafter{\tabu at reset
+                                                    \tabu at resetls#1}}%
+\def\tabu at resetls #1{\expandafter\let\expandafter#1\csname\string#1\endcsname}%
+%% \multicolumn inside tabu environment -----------------------------
+\tabu at newcolumntype \tabu at rewritemulticolumn{%
+    \aftergroup \tabu at endrewritemulticolumn % after \@mkpream group
+    \NC at list{\NC at do *}\tabu at textbar \tabu at lines
+    \tabu at savedecl
+    \tabu at privatecolumns
+    \NC at list\expandafter{\the\expandafter\NC at list \tabu at NC@list}%
+    \let\tabu at savels \relax
+    \NC at find
+}% \tabu at rewritemulticolumn
+\def\tabu at endrewritemulticolumn{\gdef\tabu at mkpreambuffer{}\endgroup}
+\def\tabu at multicolumn{\tabu at ifenvir \tabu at multic@lumn \tabu at multicolumnORI}
+\long\def\tabu at multic@lumn #1#2#3{\multispan{#1}\begingroup
+    \tabu at everyrowtrue
+    \NC at list{\NC at do \tabu at rewritemulticolumn}%
+    \expandafter\@gobbletwo % gobbles \multispan{#1}
+         \tabu at multicolumnORI{#1}{\tabu at rewritemulticolumn #2}%
+                {\iftabuscantokens \tabu at rescan \else \expandafter\@firstofone \fi
+                {#3}}%
+}% \tabu at multic@lumn
+%% The X column(s): rewriting process -----------------------------
+\tabu at privatecolumntype X[1][]{\begingroup \tabu at siunitx{\endgroup \tabu at rewriteX {#1}}}
+\def\tabu at nosiunitx #1{#1{}{}\expandafter \NC at find \tabu at rewritten }
+\def\tabu at siunitx   #1{\@ifnextchar \bgroup
+                     {\tabu at rewriteX@Ss{#1}}
+                      {\tabu at nosiunitx{#1}}}
+\def\tabu at rewriteX@Ss #1#2{\@temptokena{}%
+    \@defaultunits \let\tabu at temp =#2\relax\@nnil
+    \ifodd 1\ifx S\tabu at temp \else \ifx s\tabu at temp \else 0 \fi\fi
+        \def\NC at find{\def\NC at find >####1####2<####3\relax{#1 {####1}{####3}%
+            }\expandafter\NC at find \the\@temptokena \relax
+        }\expandafter\NC at rewrite@S \@gobble #2\relax
+    \else \tabu at siunitxerror
+    \fi
+    \expandafter \NC at find \tabu at rewritten
+}% \tabu at rewriteX@Ss
+\def\tabu at siunitxerror {\PackageError{tabu}{Not a S nor s column !
+        \MessageBreak X column can only embed siunitx S or s columns}\@ehd
+}% \tabu at siunitxerror
+\def\tabu at rewriteX #1#2#3{\tabu at Xarg {#1}{#2}{#3}%
+    \iftabu at measuring
+    \else \tabu at measuringtrue % first X column found in the preamble
+        \let\@halignto \relax   \let\tabu at halignto \relax
+        \iftabu at spread \tabu at spreadtarget \tabu at target \tabu at target \z@
+        \else          \tabu at spreadtarget \z@ \fi
+        \ifdim \tabu at target=\z@
+                \setlength\tabu at target \tabu at thetarget
+                \tabu at message{\tabu at message@defaulttarget}%
+        \else   \tabu at message{\tabu at message@target}\fi
+    \fi
+}% \tabu at rewriteX
+\def\tabu at rewriteXrestore #1#2#3{\let\@halignto \relax
+                                \def\tabu at rewritten{l}}
+\def\tabu at Xarg #1#2#3{%
+   \advance\tabu at Xcol \@ne      \let\tabu at Xlcr  \@empty
+   \let\tabu at Xdisp    \@empty   \let\tabu at Xmath \@empty
+    \ifx\\#1\\%    <shortcut when no option>
+         \def\tabu at rewritten{p}\tabucolX \p@        % <default coef = 1>
+    \else
+         \let\tabu at rewritten \@empty   \let\tabu at temp \@empty  \tabucolX \z@
+         \tabu at Xparse {}#1\relax
+    \fi
+    \tabu at Xrewritten{#2}{#3}%
+}% \tabu at Xarg
+\def\tabu at Xparse #1{\futurelet\@let at token \tabu at Xtest}
+\expandafter\def\expandafter\tabu at Xparsespace\space{\tabu at Xparse{}}
+\def\tabu at Xtest{%
+   \ifcase \ifx \relax\@let at token \z@ \else
+           \if ,\@let at token \m at ne\else
+           \if p\@let at token 1\else
+           \if m\@let at token 2\else
+           \if b\@let at token 3\else
+           \if l\@let at token 4\else
+           \if c\@let at token 5\else
+           \if r\@let at token 6\else
+           \if j\@let at token 7\else
+           \if L\@let at token 8\else
+           \if C\@let at token 9\else
+           \if R\@let at token 10\else
+           \if J\@let at token 11\else
+           \ifx \@sptoken\@let at token 12\else
+           \if .\@let at token 13\else
+           \if -\@let at token 13\else
+           \ifcat $\@let at token 14\else
+           15\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+   \or \tabu at Xtype {p}%
+   \or \tabu at Xtype {m}%
+   \or \tabu at Xtype {b}%
+   \or \tabu at Xalign \raggedright\relax
+   \or \tabu at Xalign \centering\relax
+   \or \tabu at Xalign \raggedleft\relax
+   \or \tabu at Xalign \tabu at justify\relax
+   \or \tabu at Xalign \RaggedRight\raggedright
+   \or \tabu at Xalign \Centering\centering
+   \or \tabu at Xalign \RaggedLeft\raggedleft
+   \or \tabu at Xalign \justifying\tabu at justify
+   \or \expandafter \tabu at Xparsespace
+   \or \expandafter \tabu at Xcoef
+   \or \expandafter \tabu at Xm@th
+   \or \tabu at Xcoef{}%
+   \else\expandafter \tabu at Xparse
+   \fi
+}% \tabu at Xtest
+\def\tabu at Xalign #1#2{%
+    \ifx \tabu at Xlcr\@empty \else \PackageWarning{tabu}
+       {Duplicate horizontal alignment specification}\fi
+    \ifdefined#1\def\tabu at Xlcr{#1}\let#1\relax
+    \else       \def\tabu at Xlcr{#2}\let#2\relax\fi
+    \expandafter\tabu at Xparse
+}% \tabu at Xalign
+\def\tabu at Xtype #1{%
+    \ifx \tabu at rewritten\@empty \else \PackageWarning{tabu}
+            {Duplicate vertical alignment specification}\fi
+    \def\tabu at rewritten{#1}\expandafter\tabu at Xparse
+}% \tabu at Xtype
+\def\tabu at Xcoef#1{\edef\tabu at temp{\tabu at temp#1}%
+    \afterassignment\tabu at Xc@ef \tabu at cnt\number\if-#10\fi
+}% \tabu at Xcoef
+\def\tabu at Xc@ef{\advance\tabucolX \tabu at temp\the\tabu at cnt\p@
+    \tabu at Xparse{}%
+}% \tabu at Xc@ef
+\def\tabu at Xm@th #1{\futurelet \@let at token \tabu at Xd@sp}
+\def\tabu at Xd@sp{\let\tabu at Xmath=$%
+    \ifx $\@let at token \def\tabu at Xdisp{\displaystyle}%
+            \expandafter\tabu at Xparse
+    \else   \expandafter\tabu at Xparse\expandafter{\expandafter}%
+    \fi
+}% \tabu at Xd@sp
+\def\tabu at Xrewritten {%
+   \ifx  \tabu at rewritten\@empty \def\tabu at rewritten{p}\fi
+   \ifdim \tabucolX<\z@         \tabu at negcoeftrue
+   \else\ifdim \tabucolX=\z@    \tabucolX \p@
+   \fi\fi
+   \edef\tabu at temp{{\the\tabu at Xcol}{\tabu at strippt\tabucolX}}%
+   \edef\tabu at Xcoefs{\tabu at Xcoefs    \tabu@      \tabu at temp}%
+   \edef\tabu at rewritten ##1##2{\def\noexpand\tabu at rewritten{%
+        >{\tabu at Xlcr \ifx$\tabu at Xmath$\tabu at Xdisp\fi ##1}%
+                    \tabu at rewritten {\tabu at hsize \tabu at temp}%
+        <{##2\ifx$\tabu at Xmath$\fi}}%
+   }\tabu at rewritten
+}% \tabu at Xrewritten
+\def\tabu at hsize #1#2{%
+    \ifdim #2\p@<\z@
+        \ifdim \tabucolX=\maxdimen \tabu at wd{#1}\else
+        \ifdim \tabu at wd{#1}<-#2\tabucolX \tabu at wd{#1}\else -#2\tabucolX\fi
+        \fi
+   \else #2\tabucolX
+   \fi
+}% \tabu at hsize
+%% \usetabu  and  \preamble: rewritting process ---------------------
+\tabu at privatecolumntype \usetabu [1]{%
+    \ifx\\#1\\\tabu at saveerr{}\else
+        \@ifundefined{tabu at saved@\string#1}
+            {\tabu at saveerr{#1}}
+            {\let\tabu at rewriteX \tabu at rewriteXrestore
+             \csname tabu at saved@\string#1\expandafter\endcsname\expandafter\@ne}%
+    \fi
+}% \NC at rewrite@\usetabu
+\tabu at privatecolumntype \preamble [1]{%
+    \ifx\\#1\\\tabu at saveerr{}\else
+        \@ifundefined{tabu at saved@\string#1}
+            {\tabu at saveerr{#1}}
+            {\csname tabu at saved@\string#1\expandafter\endcsname\expandafter\z@}%
+    \fi
+}% \NC at rewrite@\preamble
+%% Controlling the rewritting process -------------------------------
+\tabu at newcolumntype \tabu at rewritefirst{%
+    \iftabu at long    \aftergroup \tabu at longpream  % <the whole implementation is here !>
+    \else           \aftergroup \tabu at pream
+    \fi
+    \let\tabu@          \relax      \let\tabu at hsize     \relax
+    \let\tabu at Xcoefs    \@empty     \let\tabu at savels    \relax
+    \tabu at Xcol          \z@         \tabu at cnt           \tw@
+    \gdef\tabu at mkpreambuffer{\tabu@{}}\tabu at measuringfalse
+    \global\setbox\@arstrutbox \box\@arstrutbox
+    \NC at list{\NC at do *}\tabu at textbar \tabu at lines
+    \NC at list\expandafter{\the\NC at list \NC at do X}%
+    \iftabu at siunitx     % <siunitx S and s columns>
+            \NC at list\expandafter{\the\NC at list \NC at do S\NC at do s}\fi
+    \NC at list\expandafter{\the\expandafter\NC at list \tabu at highprioritycolumns}%
+    \expandafter\def\expandafter\tabu at NC@list\expandafter{%
+                    \the\expandafter\NC at list \tabu at NC@list}%    % * | X S <original>
+    \NC at list\expandafter{\expandafter \NC at do \expandafter\usetabu
+                         \expandafter \NC at do \expandafter\preamble
+                         \the\NC at list \NC at do \tabu at rewritemiddle
+                                      \NC at do \tabu at rewritelast}%
+    \tabu at savedecl
+    \tabu at privatecolumns
+    \edef\tabu at prev{\the\@temptokena}\NC at find \tabu at rewritemiddle
+}% NC at rewrite@\tabu at rewritefirst
+\tabu at newcolumntype \tabu at rewritemiddle{%
+    \edef\tabu at temp{\the\@temptokena}\NC at find \tabu at rewritelast
+}% \NC at rewrite@\tabu at rewritemiddle
+\tabu at newcolumntype \tabu at rewritelast{%
+    \ifx \tabu at temp\tabu at prev   \advance\tabu at cnt \m at ne
+            \NC at list\expandafter{\tabu at NC@list \NC at do \tabu at rewritemiddle
+                                               \NC at do \tabu at rewritelast}%
+    \else \let\tabu at prev\tabu at temp
+    \fi
+    \ifcase \tabu at cnt   \expandafter\tabu at endrewrite
+    \else               \expandafter\NC at find \expandafter\tabu at rewritemiddle
+    \fi
+}% \NC at rewrite@\tabu at rewritelast
+%% Choosing the strategy --------------------------------------------
+\def\tabu at endrewrite {%
+    \let\tabu at temp \NC at find
+    \ifx \@arrayright\relax \let\@arrayright \@empty  \fi
+    \count@=%
+        \ifx \@finalstrut\tabu at finalstrut \z@ % outer in mode 0 print
+             \iftabu at measuring
+                \xdef\tabu at mkpreambuffer{\tabu at mkpreambuffer
+                    \tabu at target        \csname tabu@\the\tabu at nested.T\endcsname
+                    \tabucolX           \csname tabu@\the\tabu at nested.X\endcsname
+                    \edef\@halignto {\ifx\@arrayright\@empty to\tabu at target\fi}}%
+             \fi
+        \else\iftabu at measuring        4       % X columns
+                \xdef\tabu at mkpreambuffer{\tabu@{\tabu at mkpreambuffer
+                    \tabu at target        \the\tabu at target
+                    \tabu at spreadtarget  \the\tabu at spreadtarget}%
+                    \def\noexpand\tabu at Xcoefs{\tabu at Xcoefs}%
+                    \edef\tabu at halignto{\ifx \@arrayright\@empty to\tabu at target\fi}}%
+                 \let\tabu at Xcoefs \relax
+             \else\ifcase\tabu at nested \thr@@  % outer, no X
+                                      \global\let\tabu at afterendpar \relax
+                  \else               \@ne    % inner, no X, outer in mode 1 or 2
+                  \fi
+                  \ifdefined\tabu at usetabu
+                  \else \ifdim\tabu at target=\z@
+                  \else \let\tabu at temp \tabu at extracolsep
+                  \fi\fi
+             \fi
+        \fi
+    \xdef\tabu at mkpreambuffer{\count@ \the\count@ \tabu at mkpreambuffer}%
+    \tabu at temp
+}% \tabu at endrewrite
+\def\tabu at extracolsep{\@defaultunits    \expandafter\let
+    \expandafter\tabu at temp \expandafter=\the\@temptokena \relax\@nnil
+    \ifx \tabu at temp\@sptoken
+        \expandafter\tabu at gobblespace \expandafter\tabu at extracolsep
+    \else
+        \edef\tabu at temp{\noexpand\NC at find
+            \if |\noexpand\tabu at temp        @%
+            \else\if !\noexpand\tabu at temp   @%
+            \else                           !%
+            \fi\fi
+            {\noexpand\extracolsep\noexpand\@flushglue}}%
+    \fi
+    \tabu at temp
+}% \tabu at extrac@lsep
+%% Implementing the strategy ----------------------------------------
+\long\def\tabu at pream #1\@preamble {%
+    \let\tabu@ \tabu@@  \tabu at mkpreambuffer     \tabu at aftergroupcleanup
+    \NC at list\expandafter {\tabu at NC@list}%    in case of nesting...
+    \ifdefined\tabu at usetabu \tabu at usetabu \tabu at target \z@ \fi
+    \let\tabu at savedpreamble \@preamble
+    \global\let\tabu at elapsedtime \relax
+    \tabu at thebody ={#1\tabu at aftergroupcleanup}%
+    \tabu at thebody =\expandafter{\the\expandafter\tabu at thebody
+                                                \@preamble}%
+    \edef\tabuthepreamble {\the\tabu at thebody}% ( no @ allowed for \scantokens )
+    \tabu at select
+}% \tabu at pream
+\long\def\tabu at longpream #1\LT at bchunk #2\LT at bchunk{%
+    \let\tabu@ \tabu@@  \tabu at mkpreambuffer     \tabu at aftergroupcleanup
+    \NC at list\expandafter {\tabu at NC@list}%    in case of nesting...
+    \let\tabu at savedpreamble \@preamble
+    \global\let\tabu at elapsedtime \relax
+    \tabu at thebody ={#1\LT at bchunk #2\tabu at aftergroupcleanup \LT at bchunk}%
+    \edef\tabuthepreamble {\the\tabu at thebody}% ( no @ allowed for \scantokens )
+    \tabu at select
+}% \tabu at longpream
+\def\tabu at select {%
+    \ifnum\tabu at nested>\z@ \tabuscantokensfalse \fi
+    \ifnum \count@=\@ne \iftabu at measuring \count@=\tw@ \fi\fi
+    \ifcase \count@
+        \global\let\tabu at elapsedtime \relax
+        \tabu at seteverycr
+        \expandafter \tabuthepreamble       % vertical adjustment (inheritated from outer)
+    \or      % exit in vertical measure + struts per cell because no X and outer in mode 3
+        \tabu at evr{\tabu at verticalinit}\tabu at celllalign@def{\tabu at verticalmeasure}%
+        \def\tabu at cellralign{\tabu at verticalspacing}%
+        \tabu at seteverycr
+        \expandafter \tabuthepreamble
+    \or                            % exit without measure because no X and outer in mode 4
+        \tabu at evr{}\tabu at celllalign@def{}\let\tabu at cellralign \@empty
+        \tabu at seteverycr
+        \expandafter \tabuthepreamble
+    \else                                   % needs trials
+        \tabu at evr{}\tabu at celllalign@def{}\let\tabu at cellralign \@empty
+        \tabu at savecounters
+        \expandafter \tabu at setstrategy
+    \fi
+}% \tabu at select
+\def\tabu@@ {\gdef\tabu at mkpreambuffer}
+%% Protections to set up before trials ------------------------------
+\def\tabu at setstrategy {\begingroup  % <trials group>
+    \tabu at trialh@@k    \tabu at cnt    \z@  % number of trials
+    \hbadness          \@M          \let\hbadness          \@tempcnta
+    \hfuzz             \maxdimen    \let\hfuzz             \@tempdima
+    \let\write         \tabu at nowrite\let\GenericError      \tabu at GenericError
+    \let\savetabu      \@gobble     \let\tabudefaulttarget \linewidth
+    \let\@footnotetext \@gobble     \let\@xfootnote        \tabu at xfootnote
+    \let\color         \tabu at nocolor\let\rowcolor          \tabu at norowcolor
+    \let\tabu at aftergroupcleanup \relax % only after the last trial
+    \tabu at mkpreambuffer
+    \ifnum \count@>\thr@@ \let\@halignto \@empty  \tabucolX at init
+                          \def\tabu at lasttry{\m at ne\p@}\fi
+    \begingroup \iffalse{\fi \ifnum0=`}\fi
+        \toks@{}\def\tabu at stack{b}\iftabuscantokens \endlinechar=10 \obeyspaces \fi %
+                                  \tabu at collectbody \tabu at strategy %
+}% \tabu at setstrategy
+\def\tabu at savecounters{%
+    \def\@elt ##1{\csname c@##1\endcsname\the\csname c@##1\endcsname}%
+    \edef\tabu at clckpt {\begingroup \globaldefs=\@ne \cl@@ckpt \endgroup}\let\@elt \relax
+}% \tabu at savecounters
+\def\tabucolX at init {%  \tabucolX <= \tabu at target / (sum coefs > 0)
+    \dimen@ \z@ \tabu at Xsum \z@ \tabucolX \z@ \let\tabu@ \tabu at Xinit \tabu at Xcoefs
+    \ifdim \dimen@>\z@
+        \@tempdima \dimexpr \tabu at target *\p@/\dimen@ + \tabu at hfuzz\relax
+        \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+    \fi
+}% \tabucolX at init
+\def\tabu at Xinit #1#2{\tabu at Xcol #1 \advance \tabu at Xsum
+    \ifdim #2\p@>\z@ #2\p@  \advance\dimen@ #2\p@
+    \else           -#2\p@  \tabu at negcoeftrue
+                            \@tempdima \dimexpr \tabu at target*\p@/\dimexpr-#2\p@\relax \relax
+                            \ifdim \tabucolX<\@tempdima \tabucolX \@tempdima \fi
+                            \tabu at wddef{#1}{0pt}%
+    \fi
+}% \tabu at Xinit
+%% Collecting the environment body ----------------------------------
+\long\def\tabu at collectbody #1#2\end #3{%
+    \edef\tabu at stack{\tabu at pushbegins #2\begin\end\expandafter\@gobble\tabu at stack}%
+    \ifx \tabu at stack\@empty
+        \toks@\expandafter{\expandafter\tabu at thebody\expandafter{\the\toks@ #2}%
+                \def\tabu at end@envir{\end{#3}}%
+                \iftabuscantokens
+                    \iftabu at long \def\tabu at endenvir {\end{#3}\tabu at gobbleX}%
+                    \else        \def\tabu at endenvir {\let\endarray \@empty
+                                                     \end{#3}\tabu at gobbleX}%
+                    \fi
+                \else           \def\tabu at endenvir  {\end{#3}}\fi}%
+        \let\tabu at collectbody \tabu at endofcollect
+    \else\def\tabu at temp{#3}%
+        \ifx \tabu at temp\@empty \toks@\expandafter{\the\toks@ #2\end }%
+        \else \ifx\tabu at temp\tabu@@spxiii \toks@\expandafter{\the\toks@ #2\end #3}%
+        \else \ifx\tabu at temp\tabu at X \toks@\expandafter{\the\toks@ #2\end #3}%
+        \else \toks@\expandafter{\the\toks@ #2\end{#3}}%
+        \fi\fi\fi
+    \fi
+    \tabu at collectbody{#1}%
+}% \tabu at collectbody
+\long\def\tabu at pushbegins#1\begin#2{\ifx\end#2\else b\expandafter\tabu at pushbegins\fi}%
+\def\tabu at endofcollect #1{\ifnum0=`{}\fi
+                          \expandafter\endgroup \the\toks@  #1%
+}% \tabu at endofcollect
+%% The trials: switching between strategies -------------------------
+\def\tabu at strategy {\relax  % stops \count@ assignment !
+    \ifcase\count@          % case 0 = print with vertical adjustment (outer is finished)
+        \expandafter \tabu at endoftrials
+    \or                     % case 1 = exit in vertical measure (outer in mode 3)
+        \expandafter\xdef\csname tabu@\the\tabu at nested.T\endcsname{\the\tabu at target}%
+        \expandafter\xdef\csname tabu@\the\tabu at nested.X\endcsname{\the\tabucolX}%
+        \expandafter \tabu at endoftrials
+    \or                     % case 2 = exit with a rule replacing the table (outer in mode 4)
+        \expandafter \tabu at quickend
+    \or                     % case 3 = outer is in mode 3 because of no X
+        \begingroup
+            \tabu at evr{\tabu at verticalinit}\tabu at celllalign@def{\tabu at verticalmeasure}%
+            \def\tabu at cellralign{\tabu at verticalspacing}%
+            \expandafter \tabu at measuring
+    \else                   % case 4 = horizontal measure
+        \begingroup
+            \global\let\tabu at elapsedtime \tabu at message@etime
+            \long\def\multicolumn##1##2##3{\multispan{##1}}%
+            \let\tabu at startpboxORI \@startpbox
+            \iftabu at spread
+                    \def\tabu at naturalXmax {\z@}%
+                    \let\tabu at naturalXmin \tabu at naturalXmax
+                    \tabu at evr{\global\tabu at naturalX \z@}%
+                    \let\@startpbox \tabu at startpboxmeasure
+            \else\iftabu at negcoef
+                    \let\@startpbox \tabu at startpboxmeasure
+            \else   \let\@startpbox \tabu at startpboxquick
+            \fi\fi
+            \expandafter \tabu at measuring
+    \fi
+}% \tabu at strategy
+\def\tabu at measuring{\expandafter \tabu at trial \expandafter
+                                                \count@ \the\count@ \tabu at endtrial
+}% \tabu at measuring
+\def\tabu at trial{\iftabu at long \tabu at longtrial \else \tabu at shorttrial \fi}
+\def\tabu at shorttrial {\setbox\tabu at box \hbox\bgroup \tabu at seteverycr
+    \ifx \tabu at savecounters\relax \else
+                \let\tabu at savecounters \relax \tabu at clckpt \fi
+    $\iftabuscantokens \tabu at rescan \else \expandafter\@secondoftwo \fi
+       \expandafter{\expandafter \tabuthepreamble
+                         \the\tabu at thebody
+                         \csname tabu at adl@endtrial\endcsname
+                         \endarray}$\egroup             % got \tabu at box
+}% \tabu at shorttrial
+\def\tabu at longtrial {\setbox\tabu at box \hbox\bgroup \tabu at seteverycr
+    \ifx \tabu at savecounters\relax \else
+                \let\tabu at savecounters \relax \tabu at clckpt \fi
+    \iftabuscantokens \tabu at rescan \else \expandafter\@secondoftwo \fi
+       \expandafter{\expandafter \tabuthepreamble
+                         \the\tabu at thebody
+                         \tabuendlongtrial}\egroup      % got \tabu at box
+}% \tabu at longtrial
+\def\tabuendlongtrial{% no @ allowed for \scantokens
+    \LT at echunk  \global\setbox\@ne \hbox{\unhbox\@ne}\kern\wd\@ne
+                \LT at get@widths
+}% \tabuendlongtrial
+\def\tabu at adl@endtrial{% <arydshln in nested trials - problem for global column counters!>
+    \crcr \noalign{\global\adl at ncol \tabu at nbcols}}% anything global is crap, junky and fails !
+\def\tabu at seteverycr {\tabu at reset
+    \everycr \expandafter{\the\everycr  \tabu at everycr}%
+    \let\everycr \tabu at noeverycr                      % <for ialign>
+}% \tabu at seteverycr
+\def\tabu at noeverycr{{\aftergroup\tabu at restoreeverycr \afterassignment}\toks@}
+\def\tabu at restoreeverycr {\let\everycr \tabu@@everycr}
+\def\tabu at everycr {\iftabu at everyrow \noalign{\tabu at everyrow}\fi}
+\def\tabu at endoftrials {%
+    \iftabuscantokens   \expandafter\@firstoftwo
+    \else               \expandafter\@secondoftwo
+    \fi
+        {\expandafter \tabu at closetrialsgroup \expandafter
+         \tabu at rescan \expandafter{%
+                    \expandafter\tabuthepreamble
+                        \the\expandafter\tabu at thebody
+                                    \iftabu at long \else \endarray \fi}}
+        {\expandafter\tabu at closetrialsgroup \expandafter
+                    \tabuthepreamble
+                        \the\tabu at thebody}%
+                                        \tabu at endenvir      % Finish !
+}% \tabu at endoftrials
+\def\tabu at closetrialsgroup {%
+    \toks@\expandafter{\tabu at endenvir}%
+    \edef\tabu at bufferX{\endgroup
+        \tabucolX       \the\tabucolX
+        \tabu at target    \the\tabu at target
+        \tabu at cnt       \the\tabu at cnt
+        \def\noexpand\tabu at endenvir{\the\toks@}%
+        %Quid de \@halignto = \tabu at halignto ??
+    }% \tabu at bufferX
+    \tabu at bufferX
+    \ifcase\tabu at nested % print out (outer in mode 0)
+        \global\tabu at cnt \tabu at cnt
+        \tabu at evr{\tabu at verticaldynamicadjustment}%
+        \tabu at celllalign@def{\everypar{}}\let\tabu at cellralign \@empty
+        \let\@finalstrut \tabu at finalstrut
+    \else               % vertical measure of nested tabu
+        \tabu at evr{\tabu at verticalinit}%
+        \tabu at celllalign@def{\tabu at verticalmeasure}%
+        \def\tabu at cellralign{\tabu at verticalspacing}%
+    \fi
+    \tabu at clckpt \let\@halignto \tabu at halignto
+    \let\@halignto \@empty
+    \tabu at seteverycr
+    \ifdim \tabustrutrule>\z@ \ifnum\tabu at nested=\z@
+        \setbox\@arstrutbox \box\voidb at x % force \@arstrutbox to be rebuilt (visible struts)
+    \fi\fi
+}% \tabu at closetrialsgroup
+\def\tabu at quickend {\expandafter \endgroup \expandafter
+                        \tabu at target \the\tabu at target \tabu at quickrule
+                        \let\endarray \relax \tabu at endenvir
+}% \tabu at quickend
+\def\tabu at endtrial {\relax      % stops \count@ assignment !
+    \ifcase \count@ \tabu at err   % case 0 = impossible here
+    \or             \tabu at err   % case 1 = impossible here
+    \or             \tabu at err   % case 2 = impossible here
+    \or                         % case 3 = outer goes into mode 0
+        \def\tabu at bufferX{\endgroup}\count@ \z@
+    \else                       % case 4 = outer goes into mode 3
+        \iftabu at spread  \tabu at spreadarith % inner into mode 1 (outer in mode 3)
+        \else           \tabu at arith       %              or 2 (outer in mode 4)
+        \fi
+        \count@=%
+            \ifcase\tabu at nested     \thr@@  % outer goes into mode 3
+            \else\iftabu at measuring  \tw@    % outer is in mode 4
+            \else                   \@ne    % outer is in mode 3
+            \fi\fi
+        \edef\tabu at bufferX{\endgroup
+                           \tabucolX        \the\tabucolX
+                           \tabu at target     \the\tabu at target}%
+    \fi
+    \expandafter \tabu at bufferX \expandafter
+                                    \count@ \the\count@  \tabu at strategy
+}% \tabu at endtrial
+\def\tabu at err{\errmessage{(tabu) Internal impossible error! (\count@=\the\count@)}}
+%% The algorithms: compute the widths / stop or go on ---------------
+\def\tabu at arithnegcoef {%
+    \@tempdima \z@ \dimen@ \z@ \let\tabu@ \tabu at arith@negcoef \tabu at Xcoefs
+}% \tabu at arithnegcoef
+\def\tabu at arith@negcoef #1#2{%
+    \ifdim #2\p@>\z@    \advance\dimen@     #2\p@       % saturated by definition
+                        \advance\@tempdima  #2\tabucolX
+    \else
+        \ifdim -#2\tabucolX <\tabu at wd{#1}% c_i X < natural width <= \tabu at target-> saturated
+                        \advance\dimen@     -#2\p@
+                        \advance\@tempdima  -#2\tabucolX
+        \else
+                        \advance\@tempdima \tabu at wd{#1}% natural width <= c_i X => neutralised
+                        \ifdim \tabu at wd{#1}<\tabu at target \else % neutralised
+                        \advance\dimen@     -#2\p@ % saturated (natural width = tabu at target)
+                        \fi
+        \fi
+    \fi
+}% \tabu at arith@negcoef
+\def\tabu at givespace #1#2{% here \tabu at DELTA < \z@
+    \ifdim \@tempdima=\z@
+        \tabu at wddef{#1}{\the\dimexpr -\tabu at DELTA*\p@/\tabu at Xsum}%
+    \else
+        \tabu at wddef{#1}{\the\dimexpr \tabu at hsize{#1}{#2}
+                    *(\p@ -\tabu at DELTA*\p@/\@tempdima)/\p@\relax}%
+    \fi
+}% \tabu at givespace
+\def\tabu at arith {\advance\tabu at cnt \@ne
+    \ifnum \tabu at cnt=\@ne \tabu at message{\tabu at titles}\fi
+    \tabu at arithnegcoef
+    \@tempdimb \dimexpr \wd\tabu at box -\@tempdima \relax % <incompressible material>
+    \tabu at DELTA = \dimexpr \wd\tabu at box - \tabu at target \relax
+    \tabu at message{\tabu at message@arith}%
+    \ifdim \tabu at DELTA <\tabu at hfuzz
+        \ifdim \tabu at DELTA<\z@          % wd (tabu)<\tabu at target ?
+            \let\tabu@ \tabu at givespace \tabu at Xcoefs
+            \advance\@tempdima \@tempdimb \advance\@tempdima -\tabu at DELTA % for message
+        \else   % already converged: nothing to do but nearly impossible...
+        \fi
+        \tabucolX \maxdimen
+        \tabu at measuringfalse
+    \else                               % need for narrower X columns
+        \tabucolX =\dimexpr (\@tempdima -\tabu at DELTA) *\p@/\tabu at Xsum \relax
+        \tabu at measuringtrue
+        \@whilesw \iftabu at measuring\fi {%
+            \advance\tabu at cnt \@ne
+            \tabu at arithnegcoef
+            \tabu at DELTA =\dimexpr \@tempdima+\@tempdimb -\tabu at target \relax % always < 0 here
+            \tabu at message{\tabu at header
+                \tabu at msgalign \tabucolX { }{ }{ }{ }{ }\@@
+                \tabu at msgalign \@tempdima+\@tempdimb { }{ }{ }{ }{ }\@@
+                \tabu at msgalign \tabu at target { }{ }{ }{ }{ }\@@
+                \tabu at msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+                \ifdim -\tabu at DELTA<\tabu at hfuzz \tabu at spaces target ok\else
+                \tabu at msgalign \dimexpr -\tabu at DELTA *\p@/\dimen@ {}{}{}{}{}\@@
+                \fi}%
+            \ifdim -\tabu at DELTA<\tabu at hfuzz
+                \advance\@tempdima \@tempdimb % for message
+                \tabu at measuringfalse
+            \else
+                \advance\tabucolX \dimexpr -\tabu at DELTA *\p@/\dimen@ \relax
+            \fi
+        }%
+    \fi
+    \tabu at message{\tabu at message@reached}%
+    \edef\tabu at bufferX{\endgroup \tabu at cnt    \the\tabu at cnt
+                                 \tabucolX    \the\tabucolX
+                                 \tabu at target \the\tabu at target}%
+}% \tabu at arith
+\def\tabu at spreadarith {%
+    \dimen@ \z@ \@tempdima \tabu at naturalXmax \let\tabu@ \tabu at spread@arith \tabu at Xcoefs
+    \edef\tabu at naturalXmin {\the\dimexpr\tabu at naturalXmin*\dimen@/\p@}%
+    \@tempdimc =\dimexpr \wd\tabu at box -\tabu at naturalXmax+\tabu at naturalXmin \relax
+    \iftabu at measuring
+        \tabu at target =\dimexpr \@tempdimc+\tabu at spreadtarget \relax
+        \edef\tabu at bufferX{\endgroup \tabucolX \the\tabucolX \tabu at target\the\tabu at target}%
+    \else
+        \tabu at message{\tabu at message@spreadarith}%
+        \ifdim \dimexpr \@tempdimc+\tabu at spreadtarget >\tabu at target
+            \tabu at message{(tabu) spread
+                \ifdim \@tempdimc>\tabu at target useless here: default target used%
+                \else too large: reduced to fit default target\fi.}%
+        \else
+            \tabu at target =\dimexpr \@tempdimc+\tabu at spreadtarget \relax
+            \tabu at message{(tabu) spread: New target set to \the\tabu at target^^J}%
+        \fi
+        \begingroup \let\tabu at wddef \@gobbletwo
+            \@tempdimb \@tempdima
+            \tabucolX at init
+            \tabu at arithnegcoef
+            \wd\tabu at box =\dimexpr \wd\tabu at box +\@tempdima-\@tempdimb \relax
+        \expandafter\endgroup \expandafter\tabucolX \the\tabucolX
+        \tabu at arith
+    \fi
+}% \tabu at spreadarith
+\def\tabu at spread@arith #1#2{%
+    \ifdim #2\p@>\z@ \advance\dimen@ #2\p@
+    \else            \advance\@tempdima \tabu at wd{#1}\relax
+    \fi
+}% \tabu at spread@arith
+%% Reporting in the .log file ---------------------------------------
+\def\tabu at message@defaulttarget{%
+    \ifnum\tabu at nested=\z@^^J(tabu) Default target:
+    \ifx\tabudefaulttarget\linewidth    \string\linewidth
+        \ifdim \tabu at thetarget=\linewidth \else
+            -\the\dimexpr\linewidth-\tabu at thetarget\fi  =
+    \else\ifx\tabudefaulttarget\linegoal\string\linegoal=
+    \fi\fi
+    \else (tabu) Default target (nested): \fi
+    \the\tabu at target \on at line
+    \ifnum\tabu at nested=\z@ , page \the\c at page\fi}
+\def\tabu at message@target {^^J(tabu) Target specified:
+   \the\tabu at target \on at line, page \the\c at page}
+\def\tabu at message@arith {\tabu at header
+    \tabu at msgalign \tabucolX { }{ }{ }{ }{ }\@@
+    \tabu at msgalign \wd\tabu at box { }{ }{ }{ }{ }\@@
+    \tabu at msgalign \tabu at target { }{ }{ }{ }{ }\@@
+    \tabu at msgalign@PT \dimen@ { }{}{}{}{}{}{}\@@
+    \ifdim \tabu at DELTA<\tabu at hfuzz giving space\else
+    \tabu at msgalign \dimexpr (\@tempdima-\tabu at DELTA) *\p@/\tabu at Xsum -\tabucolX {}{}{}{}{}\@@
+    \fi
+}% \tabu at message@arith
+\def\tabu at message@spreadarith {\tabu at spreadheader
+   \tabu at msgalign \tabu at spreadtarget { }{ }{ }{ }{}\@@
+   \tabu at msgalign \wd\tabu at box { }{ }{ }{ }{}\@@
+   \tabu at msgalign -\tabu at naturalXmax { }{}{}{}{}\@@
+   \tabu at msgalign \tabu at naturalXmin { }{ }{ }{ }{}\@@
+   \tabu at msgalign \ifdim \dimexpr\@tempdimc>\tabu at target \tabu at target
+                  \else  \@tempdimc+\tabu at spreadtarget \fi
+                  {}{}{}{}{}\@@}
+\def\tabu at message@negcoef #1#2{
+    \tabu at spaces\tabu at spaces\space * #1. X[\rem at pt#2]:
+    \space width = \tabu at wd {#1}
+        \expandafter\string\csname tabu@\the\tabu at nested.W\number#1\endcsname
+    \ifdim -\tabu at pt#2\tabucolX<\tabu at target
+    < \number-\rem at pt#2 X
+    = \the\dimexpr -\tabu at pt#2\tabucolX \relax
+    \else
+    <= \the\tabu at target\space < \number-\rem at pt#2 X\fi}
+\def\tabu at message@reached{\tabu at header
+     ******* Reached Target:
+            hfuzz = \tabu at hfuzz\on at line\space *******}
+\def\tabu at message@etime{\edef\tabu at stoptime{\the\pdfelapsedtime}%
+    \tabu at message{(tabu)\tabu at spaces Time elapsed during measure:
+    \the\numexpr(\tabu at stoptime-\tabu at starttime-32767)/65536\relax sec
+    \the\numexpr\numexpr(\tabu at stoptime-\tabu at starttime)
+    -\numexpr(\tabu at stoptime-\tabu at starttime-32767)/65536\relax*65536\relax
+    *1000/65536\relax ms \tabu at spaces(\the\tabu at cnt\space
+                                        cycle\ifnum\tabu at cnt>\@ne s\fi)^^J^^J}}
+\def\tabu at message@verticalsp {%
+    \ifdim \@tempdima>\tabu at ht
+        \ifdim \@tempdimb>\tabu at dp
+        \expandafter\expandafter\expandafter\string\tabu at ht =
+            \tabu at msgalign \@tempdima { }{ }{ }{ }{ }\@@
+        \expandafter\expandafter\expandafter\string\tabu at dp =
+            \tabu at msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J%
+        \else
+        \expandafter\expandafter\expandafter\string\tabu at ht =
+            \tabu at msgalign \@tempdima { }{ }{ }{ }{ }\@@^^J%
+        \fi
+    \else\ifdim \@tempdimb>\tabu at dp
+        \tabu at spaces\tabu at spaces\tabu at spaces
+        \expandafter\expandafter\expandafter\string\tabu at dp =
+            \tabu at msgalign \@tempdimb { }{ }{ }{ }{ }\@@^^J\fi
+    \fi
+}% \tabu at message@verticalsp
+\edef\tabu at spaces{\@spaces}
+\def\tabu at strippt{\expandafter\tabu at pt\the}
+{\@makeother\P \@makeother\T\lowercase{\gdef\tabu at pt #1PT{#1}}}
+\def\tabu at msgalign{\expandafter\tabu at msg@align\the\dimexpr}
+\def\tabu at msgalign@PT{\expandafter\tabu at msg@align\romannumeral-`\0\tabu at strippt}
+\def\do #1{%
+    \def\tabu at msg@align##1.##2##3##4##5##6##7##8##9\@@{%
+    \ifnum##1<10 #1 #1\else
+    \ifnum##1<100 #1 \else
+    \ifnum##1<\@m #1\fi\fi\fi
+    ##1.##2##3##4##5##6##7##8#1}%
+    \def\tabu at header{(tabu) \ifnum\tabu at cnt<10 #1\fi\the\tabu at cnt) }%
+    \def\tabu at titles{\ifnum \tabu at nested=\z@
+      (tabu) Try#1 #1 tabu X #1 #1 #1tabu Width #1 #1 Target
+                  #1 #1 #1 Coefs #1 #1 #1 Update^^J\fi}%
+    \def\tabu at spreadheader{%
+      (tabu) Try#1 #1 Spread #1 #1 tabu Width #1 #1 #1 Nat. X #1 #1 #1 #1Nat. Min.
+                                                      #1 New Target^^J%
+      (tabu) sprd}
+    \def\tabu at message@save {\begingroup
+        \def\x ####1{\tabu at msg@align ####1{ }{ }{ }{ }{}\@@}
+        \def\z ####1{\expandafter\x\expandafter{\romannumeral-`\0\tabu at strippt
+                                                     \dimexpr####1\p@{ }{ }}}%
+        \let\color \relax \def\tabu at rulesstyle ####1####2{\detokenize{####1}}%
+        \let\CT at arc@ \relax \let\@preamble \@gobble
+        \let\tabu at savedpream  \@firstofone
+        \let\tabu at savedparams \@firstofone
+        \def\tabu at target ####1\relax   {(tabu) target #1 #1 #1 #1 #1 = \x{####1}^^J}%
+        \def\tabucolX ####1\relax      {(tabu) X columns width#1 = \x{####1}^^J}%
+        \def\tabu at nbcols ####1\relax   {(tabu) Number of columns: \z{####1}^^J}%
+        \def\tabu at aligndefault    ####1{(tabu) Default alignment: #1 #1 ####1^^J}%
+        \def\col at sep ####1\relax       {(tabu) column sep #1 #1 #1 = \x{####1}^^J}%
+        \def\arrayrulewidth ####1\relax{(tabu) arrayrulewidth #1 = \x{####1}}%
+        \def\doublerulesep ####1\relax { doublerulesep = \x{####1}^^J}%
+        \def\extratabsurround####1\relax{(tabu) extratabsurround = \x{####1}^^J}%
+        \def\extrarowheight ####1\relax{(tabu) extrarowheight #1 = \x{####1}}%
+        \def\extrarowdepth ####1\relax {extrarowdepth = \x{####1}^^J}%
+        \def\abovetabulinesep####1\relax{(tabu) abovetabulinesep=\x{####1} }%
+        \def\belowtabulinesep####1\relax{ belowtabulinesep=\x{####1}^^J}%
+        \def\arraystretch         ####1{(tabu) arraystretch #1 #1 = \z{####1}^^J}%
+        \def\minrowclearance####1\relax{(tabu) minrowclearance #1 = \x{####1}^^J}%
+        \def\tabu at arc@L           ####1{(tabu) taburulecolor #1 #1 = ####1^^J}%
+        \def\tabu at drsc@L          ####1{(tabu) tabudoublerulecolor=  ####1^^J}%
+        \def\tabu at evr@L           ####1{(tabu) everyrow #1 #1 #1 #1 = \detokenize{####1}^^J}%
+        \def\tabu at ls@L            ####1{(tabu) line style = \detokenize{####1}^^J}%
+        \def\NC at find ####1\@nil{(tabu) tabu preamble#1 #1 = \detokenize{####1}^^J}%
+        \def\tabu at wddef####1####2{(tabu) Natural width ####1 = \x{####2}^^J}%
+        \let\edef \@gobbletwo \let\def \@empty \let\let \@gobbletwo
+        \tabu at message{%
+         (tabu) \string\savetabu{\tabu at temp}: \on at line^^J%
+         \tabu at usetabu \@nil^^J}%
+        \endgroup}
+}\do{ }
+%% Measuring the natural width (varwidth) - store the results -------
+\def\tabu at startpboxmeasure #1{\bgroup   % entering \vtop
+    \edef\tabu at temp{\expandafter\@secondoftwo \ifx\tabu at hsize #1\else\relax\fi}%
+    \ifodd 1\ifx \tabu at temp\@empty 0 \else      % starts with \tabu at hsize ?
+            \iftabu at spread           \else      % if spread -> measure
+            \ifdim \tabu at temp\p@>\z@ 0 \fi\fi\fi% if coef>0 -> do not measure
+        \let\@startpbox \tabu at startpboxORI      % restore immediately (nesting)
+        \tabu at measuringtrue                     % for the quick option...
+        \tabu at Xcol =\expandafter\@firstoftwo\ifx\tabu at hsize #1\fi
+        \ifdim \tabu at temp\p@>\z@ \ifdim \tabu at temp\tabucolX<\tabu at target
+                                        \tabu at target=\tabu at temp\tabucolX \fi\fi
+        \setbox\tabu at box  \hbox \bgroup
+            \begin{varwidth}\tabu at target
+                \let\FV at ListProcessLine \tabu at FV@ListProcessLine  % \hbox to natural width...
+                \narrowragged \arraybackslash \parfillskip \@flushglue
+                \ifdefined\pdfadjustspacing \pdfadjustspacing\z@ \fi
+                \bgroup \aftergroup\tabu at endpboxmeasure
+                \ifdefined \cellspacetoplimit \tabu at cellspacepatch \fi
+    \else \expandafter\@gobble
+                            \tabu at startpboxquick{#1}% \@gobble \bgroup
+    \fi
+}% \tabu at startpboxmeasure
+\def\tabu at cellspacepatch{\def\bcolumn##1\@nil{}\let\ecolumn\@empty
+                                          \bgroup\color at begingroup}
+\def\tabu at endpboxmeasure {%
+    \@finalstrut \@arstrutbox
+                    \end{varwidth}\egroup    % <got my \tabu at box>
+    \ifdim \tabu at temp\p@ <\z@   % neg coef
+        \ifdim \tabu at wd\tabu at Xcol <\wd\tabu at box
+            \tabu at wddef\tabu at Xcol {\the\wd\tabu at box}%
+            \tabu at debug{\tabu at message@endpboxmeasure}%
+        \fi
+    \else                       % spread coef>0
+        \global\advance \tabu at naturalX \wd\tabu at box
+        \@tempdima =\dimexpr \wd\tabu at box *\p@/\dimexpr \tabu at temp\p@\relax \relax
+        \ifdim \tabu at naturalXmax <\tabu at naturalX
+            \xdef\tabu at naturalXmax {\the\tabu at naturalX}\fi
+        \ifdim \tabu at naturalXmin <\@tempdima
+            \xdef\tabu at naturalXmin {\the\@tempdima}\fi
+    \fi
+   \box\tabu at box \egroup % end of \vtop (measure) restore \tabu at target
+}% \tabu at endpboxmeasure
+\def\tabu at wddef #1{\expandafter\xdef
+                   \csname tabu@\the\tabu at nested.W\number#1\endcsname}
+\def\tabu at wd    #1{\csname tabu@\the\tabu at nested.W\number#1\endcsname}
+\def\tabu at message@endpboxmeasure{\tabu at spaces\tabu at spaces<-> % <-> save natural wd
+    \the\tabu at Xcol. X[\tabu at temp]:
+    target = \the\tabucolX \space
+    \expandafter\expandafter\expandafter\string\tabu at wd\tabu at Xcol
+    =\tabu at wd\tabu at Xcol
+}% \tabu at message@endpboxmeasure
+\def\tabu at startpboxquick {\bgroup
+    \let\@startpbox \tabu at startpboxORI  % restore immediately
+    \let\tabu \tabu at quick               % \begin is expanded before...
+    \expandafter\@gobble \@startpbox    % gobbles \bgroup
+}% \tabu at startpboxquick
+\def\tabu at quick {\begingroup \iffalse{\fi \ifnum0=`}\fi
+    \toks@{}\def\tabu at stack{b}\tabu at collectbody \tabu at endquick
+}% \tabu at quick
+\def\tabu at endquick {%
+    \ifodd 1\ifx\tabu at end@envir\tabu at endtabu  \else
+            \ifx\tabu at end@envir\tabu at endtabus \else 0\fi\fi\relax
+            \endgroup
+    \else   \let\endtabu \relax
+            \tabu at end@envir
+    \fi
+}% \tabu at quick
+\def\tabu at endtabu   {\end{tabu}}
+\def\tabu at endtabus  {\end{tabu*}}
+%% Measuring the heights and depths - store the results -------------
+\def\tabu at verticalmeasure{\everypar{}%
+    \ifnum \currentgrouptype>12         % 14=semi-simple, 15=math shift group
+        \setbox\tabu at box =\hbox\bgroup
+            \let\tabu at verticalspacing \tabu at verticalsp@lcr
+            \d at llarbegin                % after \hbox ...
+    \else
+        \edef\tabu at temp{\ifnum\currentgrouptype=5\vtop
+                        \else\ifnum\currentgrouptype=12\vcenter
+                        \else\vbox\fi\fi}%
+        \setbox\tabu at box \hbox\bgroup$\tabu at temp \bgroup
+            \let\tabu at verticalspacing \tabu at verticalsp@pmb
+    \fi
+}% \tabu at verticalmeasure
+\def\tabu at verticalsp@lcr{%
+    \d at llarend \egroup       % <got my \tabu at box>
+    \@tempdima \dimexpr \ht\tabu at box+\abovetabulinesep
+    \@tempdimb \dimexpr \dp\tabu at box+\belowtabulinesep \relax
+        \ifdim\tabustrutrule>\z@ \tabu at debug{\tabu at message@verticalsp}\fi
+    \ifdim \tabu at ht<\@tempdima    \tabu at htdef{\the\@tempdima}\fi
+    \ifdim \tabu at dp<\@tempdimb    \tabu at dpdef{\the\@tempdimb}\fi
+    \noindent\vrule height\@tempdima depth\@tempdimb
+}% \tabu at verticalsp@lcr
+\def\tabu at verticalsp@pmb{% inserts struts as needed
+    \par \expandafter\egroup
+            \expandafter$\expandafter
+                    \egroup \expandafter
+                            \@tempdimc \the\prevdepth
+    \@tempdima \dimexpr \ht\tabu at box+\abovetabulinesep
+    \@tempdimb \dimexpr \dp\tabu at box+\belowtabulinesep \relax
+        \ifdim\tabustrutrule>\z@ \tabu at debug{\tabu at message@verticalsp}\fi
+    \ifdim \tabu at ht<\@tempdima    \tabu at htdef{\the\@tempdima}\fi
+    \ifdim \tabu at dp<\@tempdimb    \tabu at dpdef{\the\@tempdimb}\fi
+    \let\@finalstrut \@gobble
+    \hrule height\@tempdima depth\@tempdimb width\hsize
+%%    \box\tabu at box
+}% \tabu at verticalsp@pmb
+
+\def\tabu at verticalinit{%
+    \ifnum \c at taburow=\z@ \tabu at rearstrut \fi       % after \tabu at reset !
+    \advance\c at taburow \@ne
+    \tabu at htdef{\the\ht\@arstrutbox}\tabu at dpdef{\the\dp\@arstrutbox}%
+    \advance\c at taburow \m at ne
+}% \tabu at verticalinit
+\def\tabu at htdef {\expandafter\xdef \csname tabu@\the\tabu at nested.H\the\c at taburow\endcsname}
+\def\tabu at ht                      {\csname tabu@\the\tabu at nested.H\the\c at taburow\endcsname}
+\def\tabu at dpdef {\expandafter\xdef \csname tabu@\the\tabu at nested.D\the\c at taburow\endcsname}
+\def\tabu at dp                      {\csname tabu@\the\tabu at nested.D\the\c at taburow\endcsname}
+\def\tabu at verticaldynamicadjustment {%
+    \advance\c at taburow \@ne
+        \extrarowheight \dimexpr\tabu at ht - \ht\strutbox
+        \extrarowdepth  \dimexpr\tabu at dp - \dp\strutbox
+        \let\arraystretch \@empty
+    \advance\c at taburow \m at ne
+}% \tabu at verticaldynamicadjustment
+\def\tabuphantomline{\crcr \noalign{%
+    {\globaldefs \@ne
+        \setbox\@arstrutbox     \box\voidb at x
+        \let\tabu@@celllalign   \tabu at celllalign
+        \let\tabu@@cellralign   \tabu at cellralign
+        \let\tabu@@cellleft     \tabu at cellleft
+        \let\tabu@@cellright    \tabu at cellright
+        \let\tabu@@thevline     \tabu at thevline
+        \let\tabu at celllalign    \@empty
+        \let\tabu at cellralign    \@empty
+        \let\tabu at cellright     \@empty
+        \let\tabu at cellleft      \@empty
+        \let\tabu at thevline      \relax}%
+    \edef\tabu at temp{\tabu at multispan \tabu at nbcols{\noindent &}}%
+    \toks@\expandafter{\tabu at temp \noindent\tabu at everyrowfalse \cr
+        \noalign{\tabu at rearstrut
+            {\globaldefs\@ne
+                \let\tabu at celllalign \tabu@@celllalign
+                \let\tabu at cellralign \tabu@@cellralign
+                \let\tabu at cellleft   \tabu@@cellleft
+                \let\tabu at cellright  \tabu@@cellright
+                \let\tabu at thevline   \tabu@@thevline}}}%
+    \expandafter}\the\toks@
+}% \tabuphantomline
+%% \firsthline and \lasthline corrections ---------------------------
+\def\tabu at firstline {\tabu at hlineAZ  \tabu at firsthlinecorrection     {}}
+\def\tabu at firsthline{\tabu at hlineAZ  \tabu at firsthlinecorrection \hline}
+\def\tabu at lastline  {\tabu at hlineAZ  \tabu at lasthlinecorrection      {}}
+\def\tabu at lasthline {\tabu at hlineAZ  \tabu at lasthlinecorrection  \hline}
+\def\tabu at hline {% replaces \hline if no colortbl (see \AtBeginDocument)
+    \noalign{\ifnum0=`}\fi
+    {\CT at arc@\hrule height\arrayrulewidth}%
+    \futurelet \tabu at temp \tabu at xhline
+}% \tabu at hline
+\def\tabu at xhline{%
+    \ifx \tabu at temp \hline
+        {\ifx \CT at drsc@\relax \vskip
+         \else\ifx \CT at drsc@\@empty \vskip
+         \else \CT at drsc@\hrule height
+         \fi\fi
+         \doublerulesep}%
+    \fi
+    \ifnum0=`{\fi}%
+}% \tabu at xhline
+\def\tabu at hlineAZ #1#2{\noalign{\ifnum0=`}\fi \dimen@ \z@ \count@ \z@
+    \toks@{}\def\tabu at hlinecorrection{#1}\def\tabu at temp{#2}%
+    \tabu at hlineAZsurround
+}% \tabu at hlineAZ
+\newcommand*\tabu at hlineAZsurround[1][\extratabsurround]{%
+    \extratabsurround #1\let\tabucline \tabucline at scan
+    \let\hline     \tabu at hlinescan \let\firsthline \hline
+    \let\cline     \tabu at clinescan \let\lasthline  \hline
+    \expandafter \futurelet \expandafter \tabu at temp
+                \expandafter \tabu at nexthlineAZ \tabu at temp
+}% \tabu at hlineAZsurround
+\def\tabu at hlinescan   {\tabu at thick \arrayrulewidth \tabu at xhlineAZ \hline}
+\def\tabu at clinescan #1{\tabu at thick \arrayrulewidth \tabu at xhlineAZ {\cline{#1}}}
+\def\tabucline at scan{\@testopt \tabucline at sc@n {}}
+\def\tabucline at sc@n #1[#2]{\tabu at xhlineAZ {\tabucline[{#1}]{#2}}}
+\def\tabu at nexthlineAZ{%
+    \ifx \tabu at temp\hline \else
+    \ifx \tabu at temp\cline \else
+    \ifx \tabu at temp\tabucline \else
+         \tabu at hlinecorrection
+    \fi\fi\fi
+}% \tabu at nexthlineAZ
+\def\tabu at xhlineAZ #1{%
+    \toks@\expandafter{\the\toks@ #1}%
+    \@tempdimc \tabu at thick                  % The last line width
+    \ifcase\count@ \@tempdimb \tabu at thick   % The first line width
+    \else \advance\dimen@ \dimexpr \tabu at thick+\doublerulesep \relax
+    \fi
+    \advance\count@ \@ne    \futurelet \tabu at temp \tabu at nexthlineAZ
+}% \tabu at xhlineAZ
+\def\tabu at firsthlinecorrection{% \count@ = number of \hline -1
+    \@tempdima \dimexpr \ht\@arstrutbox+\dimen@
+    \edef\firsthline{%      <local in \noalign>
+        \omit \hbox to\z@{\hss{\noexpand\tabu at DBG{yellow}\vrule
+                    height \the\dimexpr\@tempdima+\extratabsurround
+                    depth  \dp\@arstrutbox
+                    width  \tabustrutrule}\hss}\cr
+        \noalign{\vskip -\the\dimexpr   \@tempdima+\@tempdimb
+                                        +\dp\@arstrutbox \relax}%
+        \the\toks@
+   }\ifnum0=`{\fi
+            \expandafter}\firsthline % we are then !
+}% \tabu at firsthlinecorrection
+\def\tabu at lasthlinecorrection{%
+    \@tempdima \dimexpr  \dp\@arstrutbox+\dimen at +\@tempdimb+\@tempdimc
+    \edef\lasthline{%   <local in \noalign>
+        \the\toks@
+        \noalign{\vskip -\the\dimexpr\dimen at +\@tempdimb+\dp\@arstrutbox}%
+        \omit \hbox to\z@{\hss{\noexpand\tabu at DBG{yellow}\vrule
+                    depth \the\dimexpr \dp\@arstrutbox+\@tempdimb+\dimen@
+                                       +\extratabsurround-\@tempdimc
+                    height \z@
+                    width \tabustrutrule}\hss}\cr
+    }\ifnum0=`{\fi
+            \expandafter}\lasthline % we are then !
+}% \tabu at lasthlinecorrection
+\def\tabu at LT@@hline{%
+    \ifx\LT at next\hline
+        \global\let\LT at next \@gobble
+        \ifx \CT at drsc@\relax
+            \gdef\CT at LT@sep{%
+                \noalign{\penalty-\@medpenalty\vskip\doublerulesep}}%
+        \else
+            \gdef\CT at LT@sep{%
+                \multispan\LT at cols{%
+                \CT at drsc@\leaders\hrule\@height\doublerulesep\hfill}\cr}%
+        \fi
+    \else
+        \global\let\LT at next\empty
+        \gdef\CT at LT@sep{%
+            \noalign{\penalty-\@lowpenalty\vskip-\arrayrulewidth}}%
+    \fi
+    \ifnum0=`{\fi}%
+    \multispan\LT at cols
+        {\CT at arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+    \CT at LT@sep
+    \multispan\LT at cols
+        {\CT at arc@\leaders\hrule\@height\arrayrulewidth\hfill}\cr
+    \noalign{\penalty\@M}%
+    \LT at next
+}% \tabu at LT@@hline
+%% Horizontal lines : \tabucline ------------------------------------
+\let\tabu at start \@tempcnta
+\let\tabu at stop  \@tempcntb
+\newcommand*\tabucline{\noalign{\ifnum0=`}\fi \tabu at cline}
+\newcommand*\tabu at cline[2][]{\tabu at startstop{#2}%
+   \ifnum \tabu at stop<\z@   \toks@{}%
+   \else \tabu at clinearg{#1}\tabu at thestyle
+        \edef\tabucline{\toks@{%
+            \ifnum \tabu at start>\z@ \omit
+                  \tabu at multispan\tabu at start {\span\omit}&\fi
+            \omit \tabu at multispan\tabu at stop {\span\omit}%
+                                        \tabu at thehline\cr
+        }}\tabucline
+        \tabu at tracinglines{(tabu:tabucline) Style: #1^^J\the\toks@^^J^^J}%
+    \fi
+    \futurelet \tabu at temp \tabu at xcline
+}% \tabu at cline
+\def\tabu at clinearg #1{%
+    \ifx\\#1\\\let\tabu at thestyle \tabu at ls@
+    \else \@defaultunits \expandafter\let\expandafter\@tempa
+                                    \romannumeral-`\0#1\relax \@nnil
+        \ifx \hbox\@tempa           \tabu at clinebox{#1}%
+        \else\ifx \box\@tempa       \tabu at clinebox{#1}%
+        \else\ifx \vbox\@tempa      \tabu at clinebox{#1}%
+        \else\ifx \vtop\@tempa      \tabu at clinebox{#1}%
+        \else\ifx \copy\@tempa      \tabu at clinebox{#1}%
+        \else\ifx \leaders\@tempa   \tabu at clineleads{#1}%
+        \else\ifx \cleaders\@tempa  \tabu at clineleads{#1}%
+        \else\ifx \xleaders\@tempa  \tabu at clineleads{#1}%
+        \else\tabu at getline {#1}%
+        \fi\fi\fi\fi\fi\fi\fi\fi
+    \fi
+}% \tabu at clinearg
+\def\tabu at clinebox #1{\tabu at clineleads{\xleaders#1\hss}}
+\def\tabu at clineleads #1{%
+    \let\tabu at thestyle \relax \let\tabu at leaders \@undefined
+    \gdef\tabu at thehrule{#1}}
+\def\tabu at thehline{\begingroup
+    \ifdefined\tabu at leaders
+            \noexpand\tabu at thehleaders
+    \else   \noexpand\tabu at thehrule
+    \fi            \endgroup
+}% \tabu at thehline
+\def\tabu at xcline{%
+    \ifx \tabu at temp\tabucline
+        \toks@\expandafter{\the\toks@ \noalign
+        {\ifx\CT at drsc@\relax \vskip
+         \else \CT at drsc@\hrule height
+         \fi
+         \doublerulesep}}%
+    \fi
+    \tabu at docline
+}% \tabu at xcline
+\def\tabu at docline {\ifnum0=`{\fi \expandafter}\the\toks@}
+\def\tabu at docline@evr {\xdef\tabu at doclineafter{\the\toks@}%
+              \ifnum0=`{\fi}\aftergroup\tabu at doclineafter}
+\def\tabu at multispan #1#2{%
+    \ifnum\numexpr#1>\@ne #2\expandafter\tabu at multispan
+    \else                   \expandafter\@gobbletwo
+    \fi  {#1-1}{#2}%
+}% \tabu at multispan
+\def\tabu at startstop #1{\tabu at start@stop #1\relax 1-\tabu at nbcols \@nnil}
+\def\tabu at start@stop #1-#2\@nnil{%
+   \@defaultunits   \tabu at start\number 0#1\relax    \@nnil
+   \@defaultunits   \tabu at stop \number 0#2\relax    \@nnil
+   \tabu at stop   \ifnum \tabu at start>\tabu at nbcols     \m at ne
+                \else\ifnum \tabu at stop=\z@          \tabu at nbcols
+                \else\ifnum \tabu at stop>\tabu at nbcols \tabu at nbcols
+                \else                               \tabu at stop
+                \fi\fi\fi
+   \advance\tabu at start \m at ne
+   \ifnum \tabu at start>\z@ \advance\tabu at stop -\tabu at start \fi
+}% \tabu at start@stop
+%% Numbers: siunitx S columns  (and \tabudecimal) -------------------
+\def\tabu at tabudecimal #1{%
+    \def\tabu at decimal{#1}\@temptokena{}%
+    \let\tabu at getdecimal@ \tabu at getdecimal@ignorespaces
+    \tabu at scandecimal
+}% \tabu at tabudecimal
+\def\tabu at scandecimal{\futurelet \tabu at temp \tabu at getdecimal@}
+\def\tabu at skipdecimal#1{#1\tabu at scandecimal}
+\def\tabu at getdecimal@ignorespaces{%
+    \ifcase 0\ifx\tabu at temp\ignorespaces\else
+             \ifx\tabu at temp\@sptoken1\else
+             2\fi\fi\relax
+            \let\tabu at getdecimal@ \tabu at getdecimal
+            \expandafter\tabu at skipdecimal
+    \or     \expandafter\tabu at gobblespace\expandafter\tabu at scandecimal
+    \else   \expandafter\tabu at skipdecimal
+    \fi
+}% \tabu at getdecimal@ignorespaces
+\def\tabu at get@decimal#1{\@temptokena\expandafter{\the\@temptokena #1}%
+                        \tabu at scandecimal}
+\def\do#1{%
+    \def\tabu at get@decimalspace#1{%
+        \@temptokena\expandafter{\the\@temptokena #1}\tabu at scandecimal}%
+}\do{ }
+\let\tabu@@tabudecimal \tabu at tabudecimal
+\def\tabu at getdecimal{%
+   \ifcase    0\ifx 0\tabu at temp\else
+               \ifx 1\tabu at temp\else
+               \ifx 2\tabu at temp\else
+               \ifx 3\tabu at temp\else
+               \ifx 4\tabu at temp\else
+               \ifx 5\tabu at temp\else
+               \ifx 6\tabu at temp\else
+               \ifx 7\tabu at temp\else
+               \ifx 8\tabu at temp\else
+               \ifx 9\tabu at temp\else
+               \ifx .\tabu at temp\else
+               \ifx ,\tabu at temp\else
+               \ifx -\tabu at temp\else
+               \ifx +\tabu at temp\else
+               \ifx e\tabu at temp\else
+               \ifx E\tabu at temp\else
+               \ifx\tabu at cellleft\tabu at temp1\else
+               \ifx\ignorespaces\tabu at temp1\else
+               \ifx\@sptoken\tabu at temp2\else
+            3\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\relax
+       \expandafter\tabu at get@decimal
+   \or \expandafter\tabu at skipdecimal
+   \or \expandafter\tabu at get@decimalspace
+   \else\expandafter\tabu at printdecimal
+   \fi
+}% \tabu at getdecimal
+\def\tabu at printdecimal{%
+    \edef\tabu at temp{\the\@temptokena}%
+    \ifx\tabu at temp\@empty\else
+    \ifx\tabu at temp\space\else
+        \expandafter\tabu at decimal\expandafter{\the\@temptokena}%
+    \fi\fi
+}% \tabu at printdecimal
+%% Verbatim inside X columns ----------------------------------------
+\def\tabu at verbatim{%
+    \let\verb \tabu at verb
+    \let\FV at DefineCheckEnd \tabu at FV@DefineCheckEnd
+}% \tabu at verbatim
+\let\tabu at ltx@verb \verb
+\def\tabu at verb{\@ifstar {\tabu at ltx@verb*} \tabu at ltx@verb}
+\def\tabu at fancyvrb {%
+    \def\tabu at FV@DefineCheckEnd ##1{%
+        \def\tabu at FV@DefineCheckEnd{%
+            ##1% <original definition (if fancyvrb is loaded)>
+            \let\FV at CheckEnd     \tabu at FV@CheckEnd
+            \let\FV@@CheckEnd    \tabu at FV@@CheckEnd
+            \let\FV@@@CheckEnd   \tabu at FV@@@CheckEnd
+            \edef\FV at EndScanning{%
+            \def\noexpand\next{\noexpand\end{\FV at EnvironName}}%
+                \global\let\noexpand\FV at EnvironName\relax
+                \noexpand\next}%
+            \xdef\FV at EnvironName{\detokenize\expandafter{\FV at EnvironName}}}%
+    }\expandafter\tabu at FV@DefineCheckEnd\expandafter{\FV at DefineCheckEnd}
+}% \tabu at fancyvrb
+\def\tabu at FV@CheckEnd  #1{\expandafter\FV@@CheckEnd \detokenize{#1\end{}}\@nil}
+\edef\tabu at FV@@@CheckEnd {\detokenize{\end{}}}
+\begingroup
+\catcode`\[1      \catcode`\]2
+\@makeother\{     \@makeother\}
+   \edef\x[\endgroup
+      \def\noexpand\tabu at FV@@CheckEnd ##1\detokenize[\end{]##2\detokenize[}]##3%
+   ]\x               \@nil{\def\@tempa{#2}\def\@tempb{#3}}
+\def\tabu at FV@ListProcessLine #1{%
+  \hbox {%to \hsize{%
+    \kern\leftmargin
+    \hbox {%to \linewidth{%
+      \FV at LeftListNumber
+      \FV at LeftListFrame
+      \FancyVerbFormatLine{#1}\hss
+%% DG/SR modification begin - Jan. 28, 1998 (for numbers=right add-on)
+%%      \FV at RightListFrame}%
+      \FV at RightListFrame
+      \FV at RightListNumber}%
+%% DG/SR modification end
+    \hss}}
+%% \savetabu --------------------------------------------------------
+\newcommand*\savetabu[1]{\noalign{%
+    \tabu at sanitizearg{#1}\tabu at temp
+    \ifx \tabu at temp\@empty  \tabu at savewarn{}{The tabu will not be saved}\else
+        \@ifundefined{tabu at saved@\tabu at temp}{}{\tabu at savewarn{#1}{Overwritting}}%
+        \ifdefined\tabu at restored \expandafter\let
+            \csname tabu at saved@\tabu at temp \endcsname \tabu at restored
+        \else {\tabu at save}%
+        \fi
+    \fi}%
+}% \savetabu
+\def\tabu at save {%
+    \toks0\expandafter{\tabu at saved@}%
+    \iftabu at negcoef
+        \let\tabu at wddef \relax \let\tabu@ \tabu at savewd \edef\tabu at savewd{\tabu at Xcoefs}%
+        \toks0\expandafter{\the\toks\expandafter0\tabu at savewd}\fi
+    \toks1\expandafter{\tabu at savedpream}%
+    \toks2\expandafter{\tabu at savedpreamble}%
+    \let\@preamble \relax
+    \let\tabu at savedpream \relax \let\tabu at savedparams \relax
+    \edef\tabu at preamble{%
+        \def\noexpand\tabu at aligndefault{\tabu at align}%
+        \def\tabu at savedparams {\noexpand\the\toks0}%
+        \def\tabu at savedpream  {\noexpand\the\toks1}}%
+    \edef\tabu at usetabu{%
+        \def\@preamble {\noexpand\the\toks2}%
+        \tabu at target \the\tabu at target \relax
+        \tabucolX    \the\tabucolX    \relax
+        \tabu at nbcols \the\tabu at nbcols \relax
+        \def\noexpand\tabu at aligndefault{\tabu at align}%
+        \def\tabu at savedparams {\noexpand\the\toks0}%
+        \def\tabu at savedpream  {\noexpand\the\toks1}}%
+    \let\tabu at aligndefault \relax \let\@sharp \relax
+    \edef\@tempa{\noexpand\tabu at s@ved
+                          {\tabu at usetabu}
+                         {\tabu at preamble}
+                            {\the\toks1}}\@tempa
+    \tabu at message@save
+}% \tabu at save
+\long\def\tabu at s@ved #1#2#3{%
+    \def\tabu at usetabu{#1}% <for \tabu at message@save>
+    \expandafter\gdef\csname tabu at saved@\tabu at temp\endcsname ##1{%
+        \ifodd ##1%     \usetabu
+            \tabu at measuringfalse \tabu at spreadfalse  % Just in case...
+            \gdef\tabu at usetabu {%
+                \ifdim \tabu at target>\z@ \tabu at warn@usetabu \fi
+                \global\let\tabu at usetabu \@undefined
+                \def\@halignto {to\tabu at target}%
+                #1%
+                \ifx \tabu at align\tabu at aligndefault@text
+                \ifnum \tabu at nested=\z@
+                       \let\tabu at align \tabu at aligndefault \fi\fi}%
+        \else     %     \preamble
+            \gdef\tabu at preamble {%
+                \global\let\tabu at preamble \@undefined
+                #2%
+                \ifx \tabu at align\tabu at aligndefault@text
+                \ifnum \tabu at nested=\z@
+                       \let\tabu at align \tabu at aligndefault \fi\fi}%
+        \fi
+        #3}%
+}% \tabu at s@ved
+\def\tabu at aligndefault@text {\tabu at aligndefault}%
+\def\tabu at warn@usetabu {\PackageWarning{tabu}
+    {Specifying a target with \string\usetabu\space is useless
+    \MessageBreak The target cannot be changed!}}
+\def\tabu at savewd #1#2{\ifdim #2\p@<\z@ \tabu at wddef{#1}{\tabu at wd{#1}}\fi}
+\def\tabu at savewarn#1#2{\PackageInfo{tabu}
+    {User-name `#1' already used for \string\savetabu
+    \MessageBreak #2}}%
+\def\tabu at saveerr#1{\PackageError{tabu}
+    {User-name `#1' is unknown for \string\usetabu
+    \MessageBreak I cannot restore an unknown preamble!}\@ehd}
+%% \rowfont ---------------------------------------------------------
+\newskip \tabu at cellskip
+\def\tabu at rowfont{\ifdim \baselineskip=\z@\noalign\fi
+                    {\ifnum0=`}\fi    \tabu at row@font}
+\newcommand*\tabu at row@font[2][]{%
+    \ifnum7=\currentgrouptype
+        \global\let\tabu@@cellleft    \tabu at cellleft
+        \global\let\tabu@@cellright   \tabu at cellright
+        \global\let\tabu@@celllalign  \tabu at celllalign
+        \global\let\tabu@@cellralign  \tabu at cellralign
+        \global\let\tabu@@rowfontreset\tabu at rowfontreset
+    \fi
+    \global\let\tabu at rowfontreset \tabu at rowfont@reset
+    \expandafter\gdef\expandafter\tabu at cellleft\expandafter{\tabu at cellleft #2}%
+    \ifcsname tabu at cell@#1\endcsname       % row alignment
+            \csname tabu at cell@#1\endcsname \fi
+    \ifnum0=`{\fi}% end of group / noalign group
+}% \rowfont
+\def\tabu at ifcolorleavevmode #1{\let\color \tabu at leavevmodecolor #1\let\color\tabu at color}%
+\def\tabu at rowfont@reset{%
+    \global\let\tabu at rowfontreset \tabu@@rowfontreset
+    \global\let\tabu at cellleft     \tabu@@cellleft
+    \global\let\tabu at cellright    \tabu@@cellright
+    \global\let\tabu at cellfont     \@empty
+    \global\let\tabu at celllalign   \tabu@@celllalign
+    \global\let\tabu at cellralign   \tabu@@cellralign
+}% \tabu@@rowfontreset
+\let\tabu at rowfontreset \@empty     % overwritten \AtBeginDocument if colortbl
+%% \tabu at prepnext@tok -----------------------------------------------
+\newif \iftabu at cellright
+\def\tabu at prepnext@tok{%
+    \ifnum \count@<\z@   % <first initialisation>
+            \@tempcnta  \@M   % <not initialized by array.sty>
+            \tabu at nbcols\z@
+            \let\tabu at fornoopORI \@fornoop
+            \tabu at cellrightfalse
+    \else
+        \ifcase \numexpr \count at -\@tempcnta \relax % (case 0): prev. token is left
+                \advance \tabu at nbcols \@ne
+                \iftabu at cellright % before-previous token is right and is finished
+                    \tabu at cellrightfalse % <only once>
+                    \tabu at righttok
+                \fi
+                \tabu at lefttok
+        \or                     % (case 1) previous token is right
+                \tabu at cellrighttrue \let\@fornoop \tabu at lastnoop
+        \else % special column: do not change the token
+                \iftabu at cellright    % before-previous token is right
+                    \tabu at cellrightfalse
+                    \tabu at righttok
+                \fi
+        \fi % \ifcase
+    \fi
+    \tabu at prepnext@tokORI
+}% \tabu at prepnext@tok
+\long\def\tabu at lastnoop#1\@@#2#3{\tabu at lastn@@p #2\@nextchar \in@\in@@}
+\def\tabu at lastn@@p #1\@nextchar #2#3\in@@{%
+    \ifx \in@#2\else
+        \let\@fornoop \tabu at fornoopORI
+        \xdef\tabu at mkpreambuffer{\tabu at nbcols\the\tabu at nbcols \tabu at mkpreambuffer}%
+        \toks0\expandafter{\expandafter\tabu at everyrowtrue \the\toks0}%
+        \expandafter\prepnext at tok
+    \fi
+}% \tabu at lastnoop
+\def\tabu at righttok{%
+    \advance \count@ \m at ne
+    \toks\count@\expandafter {\the\toks\count@ \tabu at cellright \tabu at cellralign}%
+    \advance \count@ \@ne
+}% \tabu at righttok
+\def\tabu at lefttok{\toks\count@\expandafter{\expandafter\tabu at celllalign
+                                    \the\toks\count@ \tabu at cellleft}% after because of $
+}% \tabu at lefttok
+%% Neutralisation of glues ------------------------------------------
+\let\tabu at cellleft   \@empty
+\let\tabu at cellright  \@empty
+\tabu at celllalign@def{\tabu at cellleft}%
+\let\tabu at cellralign \@empty
+\def\tabu at cell@align #1#2#3{%
+    \let\tabu at maybesiunitx \toks@ \tabu at celllalign
+    \global \expandafter \tabu at celllalign@def \expandafter {\the\toks@ #1}%
+    \toks@\expandafter{\tabu at cellralign #2}%
+    \xdef\tabu at cellralign{\the\toks@}%
+    \toks@\expandafter{\tabu at cellleft #3}%
+    \xdef\tabu at cellleft{\the\toks@}%
+}% \tabu at cell@align
+\def\tabu at cell@l{% force alignment to left
+   \tabu at cell@align
+      {\tabu at removehfil \raggedright \tabu at cellleft}% left
+      {\tabu at flush1\tabu at ignorehfil}%                 right
+      \raggedright
+}% \tabu at cell@l
+\def\tabu at cell@c{% force alignment to center
+   \tabu at cell@align
+      {\tabu at removehfil \centering \tabu at flush{.5}\tabu at cellleft}
+      {\tabu at flush{.5}\tabu at ignorehfil}
+      \centering
+}% \tabu at cell@c
+\def\tabu at cell@r{% force alignment to right
+   \tabu at cell@align
+      {\tabu at removehfil \raggedleft \tabu at flush1\tabu at cellleft}
+      \tabu at ignorehfil
+      \raggedleft
+}% \tabu at cell@r
+\def\tabu at cell@j{% force justification (for p, m, b columns)
+      \tabu at cell@align
+         {\tabu at justify\tabu at cellleft}
+         {}
+         \tabu at justify
+}% \tabu at cell@j
+\def\tabu at justify{%
+   \leftskip\z at skip \@rightskip\leftskip \rightskip\@rightskip
+   \parfillskip\@flushglue
+}% \tabu at justify
+%% ragged2e settings
+\def\tabu at cell@L{% force alignment to left (ragged2e)
+   \tabu at cell@align
+      {\tabu at removehfil \RaggedRight \tabu at cellleft}
+      {\tabu at flush 1\tabu at ignorehfil}
+      \RaggedRight
+}% \tabu at cell@L
+\def\tabu at cell@C{% force alignment to center (ragged2e)
+   \tabu at cell@align
+      {\tabu at removehfil \Centering \tabu at flush{.5}\tabu at cellleft}
+      {\tabu at flush{.5}\tabu at ignorehfil}
+      \Centering
+}% \tabu at cell@C
+\def\tabu at cell@R{% force alignment to right (ragged2e)
+   \tabu at cell@align
+      {\tabu at removehfil \RaggedLeft \tabu at flush 1\tabu at cellleft}
+      \tabu at ignorehfil
+      \RaggedLeft
+}% \tabu at cell@R
+\def\tabu at cell@J{% force justification (ragged2e)
+   \tabu at cell@align
+      {\justifying \tabu at cellleft}
+      {}
+      \justifying
+}% \tabu at cell@J
+\def\tabu at flush#1{%
+    \iftabu at colortbl      % colortbl uses \hfill rather than \hfil
+        \hskip \ifnum13<\currentgrouptype \stretch{#1}%
+        \else  \ifdim#1pt<\p@ \tabu at cellskip
+        \else  \stretch{#1}
+        \fi\fi \relax
+    \else                % array.sty
+        \ifnum 13<\currentgrouptype
+                \hfil \hskip1sp \relax  \fi
+    \fi
+}% \tabu at flush
+\let\tabu at hfil  \hfil
+\let\tabu at hfill \hfill
+\let\tabu at hskip \hskip
+\def\tabu at removehfil{%
+    \iftabu at colortbl
+        \unkern \tabu at cellskip =\lastskip
+        \ifnum\gluestretchorder\tabu at cellskip =\tw@ \hskip-\tabu at cellskip
+        \else \tabu at cellskip \z at skip
+        \fi
+    \else
+        \ifdim\lastskip=1sp\unskip\fi
+        \ifnum\gluestretchorder\lastskip =\@ne
+            \hfilneg % \hfilneg for array.sty but not for colortbl...
+        \fi
+    \fi
+}% \tabu at removehfil
+\def\tabu at ignorehfil{\aftergroup \tabu at nohfil}
+\def\tabu at nohfil{% \hfil -> do nothing + restore original \hfil
+   \def\hfil{\let\hfil \tabu at hfil}%   local to (alignment template) group
+}% \tabu at nohfil
+\def\tabu at colortblalignments {% if colortbl
+    \def\tabu at nohfil{%
+        \def\hfil  {\let\hfil \tabu at hfil}% local to (alignment template) group
+        \def\hfill {\let\hfill \tabu at hfill}% (colortbl uses \hfill) pfff...
+        \def\hskip ####1\relax{\let\hskip \tabu at hskip}}% local
+}% \tabu at colortblalignments
+%% Taking care of footnotes and hyperfootnotes ----------------------
+\long\def\tabu at footnotetext #1{%
+   \edef\@tempa{\the\tabu at footnotes
+      \noexpand\footnotetext [\the\csname c@\@mpfn\endcsname]}%
+   \global\tabu at footnotes\expandafter{\@tempa {#1}}}%
+\long\def\tabu at xfootnotetext [#1]#2{%
+   \global\tabu at footnotes\expandafter{\the\tabu at footnotes
+                               \footnotetext [{#1}]{#2}}}
+\let\tabu at xfootnote \@xfootnote
+\long\def\tabu at Hy@ftntext{\tabu at Hy@ftntxt {\the \c at footnote }}
+\long\def\tabu at Hy@xfootnote [#1]{%
+   \begingroup
+      \value\@mpfn #1\relax
+      \protected at xdef \@thefnmark  {\thempfn}%
+   \endgroup
+   \@footnotemark \tabu at Hy@ftntxt {#1}%
+}% \tabu at Hy@xfootnote
+\long\def\tabu at Hy@ftntxt #1#2{%
+    \edef\@tempa{%
+        \the\tabu at footnotes
+        \begingroup
+            \value\@mpfn #1\relax
+            \noexpand\protected at xdef\noexpand\@thefnmark {\noexpand\thempfn}%
+            \expandafter \noexpand \expandafter
+                \tabu at Hy@footnotetext \expandafter{\Hy at footnote@currentHref}%
+    }%
+    \global\tabu at footnotes\expandafter{\@tempa {#2}%
+                                         \endgroup}%
+}% \tabu at Hy@ftntxt
+\long\def\tabu at Hy@footnotetext #1#2{%
+    \H@@footnotetext{%
+        \ifHy at nesting
+            \hyper@@anchor {#1}{#2}%
+        \else
+            \Hy at raisedlink{%
+                \hyper@@anchor {#1}{\relax}%
+            }%
+            \def\@currentHref {#1}%
+            \let\@currentlabelname \@empty
+            #2%
+        \fi
+    }%
+}% \tabu at Hy@footnotetext
+%% No need for \arraybackslash ! ------------------------------------
+\def\tabu at latextwoe {%
+\def\tabu at temp##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu at temp \tabu at centering   \centering   \arraybackslash
+\tabu at temp \tabu at raggedleft  \raggedleft  \arraybackslash
+\tabu at temp \tabu at raggedright \raggedright \arraybackslash
+}% \tabu at latextwoe
+\def\tabu at raggedtwoe {%
+\def\tabu at temp ##1##2##3{{\toks@\expandafter{##2##3}\xdef##1{\the\toks@}}}
+\tabu at temp \tabu at Centering   \Centering   \arraybackslash
+\tabu at temp \tabu at RaggedLeft  \RaggedLeft  \arraybackslash
+\tabu at temp \tabu at RaggedRight \RaggedRight \arraybackslash
+\tabu at temp \tabu at justifying  \justifying  \arraybackslash
+}% \tabu at raggedtwoe
+\def\tabu at normalcrbackslash{\let\\\@normalcr}
+\def\tabu at trivlist{\expandafter\def\expandafter\@trivlist\expandafter{%
+                       \expandafter\tabu at normalcrbackslash \@trivlist}}
+%% Utilities: \fbox  \fcolorbox  and \tabudecimal -------------------
+\def\tabu at fbox      {\leavevmode\afterassignment\tabu at beginfbox \setbox\@tempboxa\hbox}
+\def\tabu at beginfbox {\bgroup \kern\fboxsep
+                     \bgroup\aftergroup\tabu at endfbox}
+\def\tabu at endfbox   {\kern\fboxsep\egroup\egroup
+                     \@frameb at x\relax}
+\def\tabu at color@b at x #1#2{\leavevmode \bgroup
+    \def\tabu at docolor@b at x{#1{#2\color at block{\wd\z@}{\ht\z@}{\dp\z@}\box\z@}}%
+    \afterassignment\tabu at begincolor@b at x \setbox\z@ \hbox
+}% \tabu at color@b at x
+\def\tabu at begincolor@b at x {\kern\fboxsep \bgroup
+       \aftergroup\tabu at endcolor@b at x \set at color}
+\def\tabu at endcolor@b at x {\kern\fboxsep \egroup
+    \dimen@\ht\z@ \advance\dimen@ \fboxsep \ht\z@ \dimen@
+    \dimen@\dp\z@ \advance\dimen@ \fboxsep \dp\z@ \dimen@
+    \tabu at docolor@b at x \egroup
+}% \tabu at endcolor@b at x
+%% Corrections (arydshln, delarray, colortbl) -----------------------
+\def\tabu at fix@arrayright {%% \@arrayright is missing from \endarray
+    \iftabu at colortbl
+        \ifdefined\adl at array  % <colortbl + arydshln>
+        \def\tabu at endarray{%
+            \adl at endarray \egroup \adl at arrayrestore \CT at end \egroup %<original>
+            \@arrayright      % <FC>
+            \gdef\@preamble{}}% <FC>
+        \else                 % <colortbl / no arydshln>
+        \def\tabu at endarray{%
+            \crcr \egroup \egroup    %<original>
+            \@arrayright             % <FC>
+            \gdef\@preamble{}\CT at end}%
+        \fi
+    \else
+        \ifdefined\adl at array  % <arydshln / no colortbl>
+        \def\tabu at endarray{%
+            \adl at endarray \egroup \adl at arrayrestore \egroup %<original>
+            \@arrayright      % <FC>
+            \gdef\@preamble{}}% <FC>
+    \else                   % <no arydshln / no colotbl + \@arrayright missing>
+        \PackageWarning{tabu}
+        {\string\@arrayright\space is missing from the
+        \MessageBreak definition of \string\endarray.
+        \MessageBreak Comptability with delarray.sty is broken.}%
+    \fi\fi
+}% \tabu at fix@arrayright
+\def\tabu at adl@xarraydashrule #1#2#3{%
+     \ifnum\@lastchclass=\adl at class@start\else
+     \ifnum\@lastchclass=\@ne\else
+     \ifnum\@lastchclass=5 \else % <FC> @-arg (class 5) and !-arg (class 1)
+             \adl at leftrulefalse \fi\fi           % must be treated the same
+     \fi
+     \ifadl at zwvrule\else \ifadl at inactive\else
+             \@addtopreamble{\vrule\@width\arrayrulewidth
+                     \@height\z@ \@depth\z@}\fi \fi
+     \ifadl at leftrule
+             \@addtopreamble{\adl at vlineL{\CT at arc@}{\adl at dashgapcolor}%
+                     {\number#1}#3}%
+     \else   \@addtopreamble{\adl at vlineR{\CT at arc@}{\adl at dashgapcolor}%
+                     {\number#2}#3}
+     \fi
+}% \tabu at adl@xarraydashrule
+\def\tabu at adl@act at endpbox {%
+    \unskip \ifhmode \nobreak \fi    \@finalstrut \@arstrutbox
+    \egroup \egroup
+    \adl at colhtdp \box\adl at box \hfil
+}% \tabu at adl@act at endpbox
+\def\tabu at adl@fix {%
+    \let\adl at xarraydashrule \tabu at adl@xarraydashrule % <fix> arydshln
+    \let\adl at act@endpbox    \tabu at adl@act at endpbox    % <fix> arydshln
+    \let\adl at act@@endpbox   \tabu at adl@act at endpbox    % <fix> arydshln
+    \let\@preamerror        \@preamerr               % <fix> arydshln
+}% \tabu at adl@fix
+%% Correction for longtable' \@startbox definition ------------------
+%%    => \everypar is ``missing'' : TeX should be in vertical mode
+\def\tabu at LT@startpbox #1{%
+    \bgroup
+        \let\@footnotetext\LT at p@ftntext
+        \setlength\hsize{#1}%
+        \@arrayparboxrestore
+        \everypar{%
+            \vrule \@height \ht\@arstrutbox \@width \z@
+            \everypar{}}%
+}% \tabu at LT@startpbox
+%% \tracingtabu  and  the package options ------------------
+\DeclareOption{delarray}{\AtEndOfPackage{\RequirePackage{delarray}}}
+\DeclareOption{linegoal}{%
+   \AtEndOfPackage{%
+      \RequirePackage{linegoal}[2010/12/07]%
+      \let\tabudefaulttarget \linegoal% \linegoal is \linewidth if not pdfTeX
+}}
+\DeclareOption{scantokens}{\tabuscantokenstrue}
+\DeclareOption{debugshow}{\AtEndOfPackage{\tracingtabu=\tw@}}
+\def\tracingtabu {\begingroup\@ifnextchar=%
+    {\afterassignment\tabu at tracing\count@}
+    {\afterassignment\tabu at tracing\count at 1\relax}}
+\def\tabu at tracing{\expandafter\endgroup
+    \expandafter\tabu at tr@cing \the\count@ \relax
+}% \tabu at tracing
+\def\tabu at tr@cing #1\relax {%
+    \ifnum#1>\thr@@ \let\tabu at tracinglines\message
+    \else           \let\tabu at tracinglines\@gobble
+    \fi
+    \ifnum#1>\tw@   \let\tabu at DBG        \tabu@@DBG
+                    \def\tabu at mkarstrut {\tabu at DBG@arstrut}%
+                    \tabustrutrule      1.5\p@
+    \else           \let\tabu at DBG        \@gobble
+                    \def\tabu at mkarstrut {\tabu at arstrut}%
+                    \tabustrutrule      \z@
+    \fi
+    \ifnum#1>\@ne   \let\tabu at debug      \message
+    \else           \let\tabu at debug      \@gobble
+    \fi
+    \ifnum#1>\z@
+        \let\tabu at message             \message
+        \let\tabu at tracing@save        \tabu at message@save
+        \let\tabu at starttimer          \tabu at pdftimer
+    \else
+        \let\tabu at message             \@gobble
+        \let\tabu at tracing@save        \@gobble
+        \let\tabu at starttimer          \relax
+    \fi
+}% \tabu at tr@cing
+%% Setup \AtBeginDocument
+\AtBeginDocument{\tabu at AtBeginDocument}
+\def\tabu at AtBeginDocument{\let\tabu at AtBeginDocument \@undefined
+    \ifdefined\arrayrulecolor   \tabu at colortbltrue       % <colortbl>
+                                \tabu at colortblalignments % different glues are used
+    \else                       \tabu at colortblfalse \fi
+    \ifdefined\CT at arc@ \else \let\CT at arc@  \relax \fi
+    \ifdefined\CT at drsc@\else \let\CT at drsc@ \relax \fi
+    \let\tabu at arc@L \CT at arc@ \let\tabu at drsc@L \CT at drsc@
+    \ifodd 1\ifcsname siunitx_table_collect_begin:Nn\endcsname   % <siunitx: ok>
+            \expandafter\ifx
+                \csname siunitx_table_collect_begin:Nn\endcsname\relax 0\fi\fi\relax
+            \tabu at siunitxtrue
+    \else   \let\tabu at maybesiunitx   \@firstofone                % <not siunitx: setup>
+            \let\tabu at siunitx        \tabu at nosiunitx
+            \tabu at siunitxfalse
+    \fi
+    \ifdefined\adl at array        % <arydshln>
+    \else     \let\tabu at adl@fix \relax
+              \let\tabu at adl@endtrial \@empty \fi
+    \ifdefined\longtable        % <longtable>
+    \else     \let\longtabu \tabu at nolongtabu \fi
+    \ifdefined\cellspacetoplimit \tabu at warn@cellspace\fi
+    \csname\ifcsname ifHy at hyperfootnotes\endcsname % <hyperfootnotes>
+            ifHy at hyperfootnotes\else iffalse\fi\endcsname
+        \let\tabu at footnotetext \tabu at Hy@ftntext
+        \let\tabu at xfootnote    \tabu at Hy@xfootnote \fi
+    \ifdefined\FV at DefineCheckEnd% <fancyvrb>
+            \tabu at fancyvrb  \fi
+    \ifdefined\color            % <color / xcolor>
+        \let\tabu at color \color
+        \def\tabu at leavevmodecolor ##1{%
+            \def\tabu at leavevmodecolor {\leavevmode ##1}%
+        }\expandafter\tabu at leavevmodecolor\expandafter{\color}%
+    \else
+        \let\tabu at color           \tabu at nocolor
+        \let\tabu at leavevmodecolor \@firstofone \fi
+    \tabu at latextwoe
+    \ifdefined\@raggedtwoe at everyselectfont    % <ragged2e>
+        \tabu at raggedtwoe
+    \else
+        \let\tabu at cell@L \tabu at cell@l
+        \let\tabu at cell@R \tabu at cell@r
+        \let\tabu at cell@C \tabu at cell@c
+        \let\tabu at cell@J \tabu at cell@j   \fi
+    \expandafter\in@ \expandafter\@arrayright \expandafter{\endarray}%
+    \ifin@ \let\tabu at endarray \endarray
+    \else  \tabu at fix@arrayright \fi% <fix for colortbl & arydshln (delarray)>
+    \everyrow{}%
+}% \tabu at AtBeginDocument
+\def\tabu at warn@cellspace{%
+    \PackageWarning{tabu}{%
+                  Package cellspace has some limitations
+    \MessageBreak And redefines some macros of array.sty.
+    \MessageBreak Please use \string\tabulinesep\space to control
+    \MessageBreak vertical spacing of lines inside tabu environnement}%
+}% \tabu at warn@cellspace
+%% tabu Package initialisation
+\tabuscantokensfalse
+\let\tabu at arc@G         \relax
+\let\tabu at drsc@G        \relax
+\let\tabu at evr@G         \@empty
+\let\tabu at rc@G          \@empty
+\def\tabu at ls@G          {\tabu at linestyle@}%
+\let\tabu@@rowfontreset \@empty % <init>
+\let\tabu@@celllalign   \@empty
+\let\tabu@@cellralign   \@empty
+\let\tabu@@cellleft     \@empty
+\let\tabu@@cellright    \@empty
+\def\tabu at naturalXmin   {\z@}
+\def\tabu at naturalXmax   {\z@}
+\let\tabu at rowfontreset  \@empty
+\def\tabulineon {4pt}\let\tabulineoff \tabulineon
+\tabu at everyrowtrue
+\ifdefined\pdfelapsedtime                   % <pdfTeX>
+        \def\tabu at pdftimer {\xdef\tabu at starttime{\the\pdfelapsedtime}}%
+\else   \let\tabu at pdftimer \relax \let\tabu at message@etime \relax
+\fi
+\tracingtabu=\z@
+\newtabulinestyle {=\maxdimen}% creates the 'factory' settings \tabu at linestyle@
+\tabulinestyle{}
+\taburowcolors{}
+\let\tabudefaulttarget  \linewidth
+\ProcessOptions*                % \ProcessOptions* is quicker !
+\endinput
+%%
+%% End of file `tabu.sty'.


Property changes on: trunk/Master/texmf-dist/tex/latex/srdp-mathematik/srdp-tables.sty
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the tex-live-commits mailing list.