\ProvidesPackage{kzoHt}
%Man darf meine Unterlagen gerne nutzen (auch nur auszugsweise und auch mit Anpassungen), sofern man die Quelle angibt (mündlich reicht)
%Zudem bin ich froh um Hinweise auf Fehler: lucius.hartmann@kzo.ch
\usepackage{color}
%\usepackage{ifthen}
\newif\ifteacher\teacherfalse

\def\teacher#1{\ifteacher\textcolor{gray}{#1}\else\textcolor{white}{#1}\fi}
\def\onlyteacher#1{\ifteacher{\textcolor{gray}{#1}}\else{}\fi}
\def\onlystudent#1{\ifteacher{}\else{#1}\fi}


%FORMATS
\setlength{\parindent}{0cm}
\setlength{\oddsidemargin}{0cm}
\setlength{\topmargin}{-1cm}
\setlength{\textheight}{24cm}
\setlength{\textwidth}{16cm}
\pagestyle{empty}
\setlength{\parskip}{2.4ex}
%\renewcommand{\labelenumii}{\alph{enumii})}

%%%% Abst\"ande in Tabellen, d.h. auch in Vektoren und Matrizen!!
\renewcommand{\arraystretch}{1}

% Druckformate
\def\Absatz#1#2{\rule[-#2]{0cm}{#1}}
\def\Kapitel#1{\centerline {\LARGE \bf #1\Absatz{0cm}{1cm}}  \rm \normalsize}
\def\Titel#1{\Absatz{1.5cm}{0cm}{\Large \bf #1}\Absatz{0cm}{0.6cm}  \rm \normalsize}
\def\Untertitel#1{\Absatz{0.8cm}{0cm}{\large \bf #1}\Absatz{0cm}{0.4cm} \rm \normalsize \\}
\def\Satz#1#2#3{\Absatz{0.8cm}{0cm}{\large \bf #1}\Absatz{0cm}{0.4cm} \rm \normalsize \\ #2 \vspace{0.3cm} 
\Einrueckung{Beweis}{2cm}{1.7cm}{#3}{0.7cm}}
\def\Satzunbewiesen#1#2{\Absatz{0.8cm}{0cm}{\large \bf #1}\Absatz{0cm}{0.4cm} \rm \normalsize \\ #2 \vspace{0.7cm}}
\def\Definition#1{\begin{list}{Definition: \hfill}{\setlength{\leftmargin}{2.5cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{2.1cm}}\item #1 \vspace{0.5cm}\end{list}}
\def\Aufgaben#1{\begin{list}{Aufgaben: \hfill}{\setlength{\leftmargin}{2.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{2cm}}\item #1 \vspace{0.5cm}\end{list}}
\def\Beispiel#1{\begin{list}{Beispiel: \hfill}{\setlength{\leftmargin}{2.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{2cm}}\item #1 \vspace{0.5cm}\end{list}}
\def\Vorgehen#1{\begin{list}{Vorgehen: \hfill}{\setlength{\leftmargin}{2.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{2cm}}\item #1 \vspace{0.5cm}\end{list}}
\def\Block#1#2{\begin{list}{#1: \hfill}{\setlength{\leftmargin}{2.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{2cm}}\item #2 \vspace{0.5cm}\end{list}}
\def\Blockbreit#1#2{\begin{list}{#1: \hfill}{\setlength{\leftmargin}{3.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{3cm}}\item #2 \vspace{0.5cm}\end{list}}
\def\Idee#1{\begin{list}{\framebox{Idee} \hfill}{\setlength{\leftmargin}{1.4cm} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{0.4cm} \setlength{\labelwidth}{1cm}}\item #1 \vspace{0.5cm}\end{list}}
\def\Einrueckung#1#2#3#4#5{\begin{list}{#1: \hfill}{\setlength{\leftmargin}{#2} \setlength{\topsep}{0cm} 
\setlength{\labelsep}{.3cm} \setlength{\labelwidth}{#3}}\item #4 \vspace{#5}\end{list}}
\newcommand{\gleichungssystem}[2]{\begin{tabular}[t]{|c|}#1 \\ #2
\end{tabular}}

% Bilder
% Name und Hoehe
\newcommand{\Bild}[2]{\raisebox{-#2}{\raisebox{0.5cm}{\includegraphics[height=#2]{#1}}}}
% Name, Breite, Hoehe, Zwischenraum, Breite des Textes, Text
\newcommand{\Bildlinks}[6]{\begin{minipage}[t]{#2}\Bild{#1}{#3}\end{minipage}\hspace{#4}
\begin{minipage}[t]{#5}#6\end{minipage}}
\newcommand{\Bildrechts}[6]{\begin{minipage}[t]{#5}#6\end{minipage}\hspace{#4}
\begin{minipage}[t]{#2}\Bild{#1}{#3}\end{minipage}}


% Formeln innerhalb von Text
\def\dsp{\displaystyle}
\def\bruch#1#2{\displaystyle \frac{#1}{#2}}

% Formeln
\def\deg#1{#1^\circ} % Grad
\def\apo{\textsc{\char13}} % Apostroph
\def\longvec#1{\stackrel{\longrightarrow}{#1}}
\def\strecke#1{\stackrel{\mbox{---}}{#1}}
\def\vektorxy#1#2{\left(\begin{array}{c}#1\\#2\end{array}\right)}
\def\vektorxyz#1#2#3{\left(\begin{array}{c}#1\\#2\\#3\end{array}\right)}
\newcommand{\geradexy}[5][t]{\vektorxy{x}{y} = \vektorxy{#2}{#3} + #1 \cdot \vektorxy{#4}{#5}}
\newcommand{\geradexyz}[7][t]{\vektorxyz{x}{y}{z} = \vektorxyz{#2}{#3}{#4} + #1 \cdot \vektorxyz{#5}{#6}{#7}}
\def\promille{$\hspace{0.5mm}^0\hspace{-1mm}/\hspace{-0.5mm}_{00}$}

% Kursiv
\def\i{\itshape}

% Rechtsbuendig
\def\ralign{\hfill }

% Durchnummerierung von Aufgaben
\newcounter{index}
\newcounter{tempindex}
\newcommand{\saveindex}{\setcounter{tempindex}{\value{index}}}
\newenvironment{nummerierung}[1][0]{\begin{list}{\arabic{index}.}{\usecounter{index}\setcounter{index}{#1}}}{\end{list}}

% Pruefungen
\def\punkte#1{\ralign{\i (#1)}}
\newcommand{\prtitel}[3]{{\Large\bf #1}\hspace{0.8cm}#2\hspace{0.8cm}#3\hspace{0.8cm}
Name:\vspace{0.4cm}}
\newcommand{\text}[2][12.5]{\begin{minipage}[t]{#1cm}#2\end{minipage}}
\newcommand{\praufgabe}[3][13.65]{\text[#1]{#2}\punkte{#3}}
\newcommand{\prteilaufgabe}[3][12]{\praufgabe[#1]{#2}{#3}}
\newcommand{\prteilaufg}[4][12.85]{{\begin{minipage}[t]{0.8cm}\Absatz{0.5cm}{0cm}#2\end{minipage}}\prteilaufgabe[#1]{#3}{#4}}


\newcounter{number}
\newenvironment{aufgaben}[1][0]{\begin{list}{\arabic{number}.}
{\usecounter{number} 
\setcounter{number}{#1}
\setlength{\leftmargin}{1.5em}
\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}
\setlength{\itemsep}{3.5ex plus0.2ex minus0.2ex}}}
{\end{list}}

\newcounter{letter}
\newenvironment{teilaufgabe}{\begin{list}{\alph{letter})}
{\usecounter{letter} 
\setlength{\leftmargin}{1.5em}
\setlength{\parsep}{0.5ex plus0.2ex minus0.1ex}
\setlength{\itemsep}{1ex plus0.2ex minus0.1ex}
}} {\end{list}}

\newcounter{savenumber}
\newcommand{\aufgabesichern}{\setcounter{savenumber}{\value{number}}}
\newcommand{\aufgabefortsetzen}{\setcounter{number}{\value{savenumber}}}

\newcounter{saveletter}
\newcommand{\teilaufgabesichern}{\setcounter{saveletter}{\value{letter}}}
\newcommand{\teilaufgabefortsetzen}{\setcounter{letter}{\value{saveletter}}}

% Koordinatensysteme
\newcounter{x}
\newcounter{y}
\newcounter{x1}
\newcounter{x2}
\newcounter{y1}
\newcounter{y2}
\newcounter{min}
\newcounter{xline}
\newcounter{yline}
\newcounter{n}
\newcounter{m}
\newcounter{xtemp}
\newcounter{ytemp}


% Haeuschen: [4mm]{anzahlx}{anzahly}
\newcommand{\Haeuschen}[3][4]{
\setcounter{x1}{#2}
\stepcounter{x1}
\setcounter{y1}{#3}
\stepcounter{y1}
\setlength{\unitlength}{#1mm}
\begin{picture}(#2,#3)
\multiput(0,0)(0,1){\value{y1}}{\line(1,0){#2}}
\multiput(0,0)(1,0){\value{x1}}{\line(0,1){#3}}
\end{picture}
}

% Koordinatensystem: [4mm]{anzahlx}{anzahly}{ursprungx}{ursprungy}
\newcommand{\Koordinatensystem}[5][4]{
\setcounter{x}{#2}
\stepcounter{x}
\setcounter{y}{#3}
\stepcounter{y}
\setlength{\unitlength}{#1mm}
\begin{picture}(#2,#3)
\multiput(0,0)(0,1){\value{y}}{\line(1,0){#2}}
\multiput(0,0)(1,0){\value{x}}{\line(0,1){#3}}
\linethickness{0.3mm}
\put(0,#5){\vector(1,0){\value{x}}}
\put(#4,0){\vector(0,1){\value{y}}}
\end{picture}
}

% Koordinatensystem: [4mm]{anzahlx}{anzahly}{ursprungx}{ursprungy}{abstandlinien}
\newcommand{\Koordinatensystemerweitert}[6][4]{
\setcounter{x2}{#2}
\stepcounter{x2}
\setcounter{y2}{#3}
\stepcounter{y2}

\setcounter{min}{#6}
\addtocounter{min}{-1}


\setcounter{xline}{#4}
\loop
\ifnum\value{xline}>\value{min}
\addtocounter{xline}{-#6}
\repeat

\setcounter{yline}{#5}
\loop
\ifnum\value{yline}>\value{min}
\addtocounter{yline}{-#6}
\repeat

\setcounter{n}{0}
\setcounter{xtemp}{\value{xline}}
\loop
\ifnum\value{xtemp}<\value{x2}
\stepcounter{n}
\addtocounter{xtemp}{#6}
\repeat

\setcounter{m}{0}
\setcounter{ytemp}{\value{yline}}
\loop
\ifnum\value{ytemp}<\value{y2}
\stepcounter{m}
\addtocounter{ytemp}{#6}
\repeat

\setlength{\unitlength}{#1mm}
\begin{picture}(#2,#3)

\multiput(0,0)(0,1){\value{y2}}{\line(1,0){#2}}
\multiput(0,0)(1,0){\value{x2}}{\line(0,1){#3}}
\linethickness{0.3mm}
\multiput(0,\value{yline})(0,#6){\value{m}}{\line(1,0){#2}}
\multiput(\value{xline},0)(#6,0){\value{n}}{\line(0,1){#3}}
\linethickness{0.3mm}
\put(0,#5){\vector(1,0){\value{x2}}}
\put(#4,0){\vector(0,1){\value{y2}}}
\end{picture}
}
