Skip to content

Instantly share code, notes, and snippets.

@felixlindemann
Created August 14, 2013 09:02
Show Gist options
  • Save felixlindemann/6229213 to your computer and use it in GitHub Desktop.
Save felixlindemann/6229213 to your computer and use it in GitHub Desktop.
LaTeX - Klausuren-Style. Package für auto-Formatierung einer Klausur
% \svnInfo $Id: Klausur.sty 3 2011-05-18 10:05:04Z felixlindemann $
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{Klausur}[21/06/2010 Klausur von Felix Lindemann]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Hinweis: Alle Intern verwendeten Variablen und Commands starten mit einem '@' %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Options Area
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%Hier können Optionen deklariert werden
%
\newif\if@answers \@answersfalse \DeclareOption{answers} {\@answerstrue}%
\newif\if@MusterLoesung \@MusterLoesungfalse \DeclareOption{MusterLoesung} {\@MusterLoesungtrue}%
\newif\if@isGruppenarbeit \@isGruppenarbeitfalse\DeclareOption{isGruppenarbeit}{\@isGruppenarbeittrue}%
\newif\if@GiveLines \@GiveLinesfalse \DeclareOption{GiveLines} {\@GiveLinestrue}%
\newif\if@GivePoints \@GivePointsfalse \DeclareOption{GivePoints} {\@GivePointstrue}%
%\newif\if@RaiseRevision \@RaiseRevisionfalse \DeclareOption{RaiseRevision} {\@RaiseRevisiontrue}%
\newif\if@Inhaltsverzeichnis \@Inhaltsverzeichnisfalse \DeclareOption{Inhaltsverzeichnis}{\@Inhaltsverzeichnistrue}
%Alle uebrigen Optionen koennen nicht verarbeitet werden
\DeclareOption*{\typeout{Die Option '\CurrentOption' ist für dieses Paket nicht definiert.}}%
\ProcessOptions\relax
%
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Benötigte Packages Laden
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[ngerman]{babel}
\RequirePackage[left=1.5cm,right=1.5cm,top=0.5cm,bottom=1cm,includeheadfoot]{geometry} %4
\RequirePackage{ifthen}
\RequirePackage[latin1]{inputenc}
\RequirePackage{tikz}
\RequirePackage{blindtext}
\RequirePackage{enumitem}
\RequirePackage{xargs}
\RequirePackage{calc}
\RequirePackage{times}
\RequirePackage{multicol}
\RequirePackage{scrtime}
\RequirePackage{multirow}
\RequirePackage{refcount}
\RequirePackage{forloop}
\RequirePackage{scrtime}
\RequirePackage{eurosym}
\RequirePackage{slashbox}
\RequirePackage{typearea}
\RequirePackage{chngpage}
\RequirePackage{here} %Positionieren von Grafiken
\RequirePackage{setspace} %um singlespacing und doublespacing
\RequirePackage{amsmath,amssymb,bbm} %Für Zahlenräume in Buchstab
\RequirePackage{cancel}
\RequirePackage{subfig}
\RequirePackage{scrpage2}
\RequirePackage[nofancy]{svninfo}
\RequirePackage{xstring} % Für die Erstetzung im Deckblatt der Revision
%
\RequirePackage{lmodern} % Type1-Schriftart für nicht-englische Texte
\RequirePackage{textcomp} % Text-Companion-Symbols (z. B. \texteuro)
%%
\RequirePackage[ngerman]{translator}
\RequirePackage{pdfpages} % zum Einb
%
%
\usetikzlibrary{arrows,automata}
\usetikzlibrary{shapes,decorations,calendar,matrix,backgrounds,folding}
\usetikzlibrary{decorations.shapes}
\usetikzlibrary{decorations.footprints}
\usetikzlibrary{petri}
\usetikzlibrary{calc}
\usetikzlibrary{fit}
%
\newcommand{\KlausurTyp}{Typ der Klausur}
\newcommand{\KlausurName}{Name der Klausur}
\newcommand{\KlausurFach}{Transportwirtschaft}
\newcommand{\KlausurProfessor}{Prof. Dr.-Ing. O.Kunze}
\newcommand{\KlausurDatum}{\today}
\newcommand{\KlausurVersionDatum}{\today}
\newcommand{\setKlausurVersionDatum}[1]{\renewcommand{\KlausurVersionDatum}{#1}}
\newcommand{\resetKlausurVersion}[1]{\setcounter{KlausurRevision}{#1}}
\newcommand{\setKlausurVersion}{\setcounterref{KlausurRevision}{mylastpage}}
\newcommand{\setKlausurTyp}[1]{\renewcommand{\KlausurTyp}{#1}}
\newcommand{\setKlausurName}[1]{\renewcommand{\KlausurName}{#1}}
\newcommand{\setKlausurFach}[1]{\renewcommand{\KlausurFach}{#1}}
\newcommand{\setKlausurDatum}[1]{\renewcommand{\KlausurDatum}{#1}}
\newcommand{\setKlausurProfessor}[1]{\renewcommand{\KlausurProfessor}{#1}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%% Literaturverzeichnis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage{etoolbox} %Sammlung von Macros für ZitierStil Benötigt.
\RequirePackage[babel,german=guillemets]{csquotes} %Wird für Biblatex benötigt
%\RequirePackage[style=authoryear,
% bibstyle=authortitle-icomp,natbib,
%% citestyle=authortitle-icomp,hyperref=false, backend=bibtex8]{biblatex}
\usepackage[style=authoryear,
bibstyle=authoryear,
citestyle=authoryear, backend=bibtex8]{biblatex} %der Zitierstil
%\RequirePackage[style=apa]{biblatex}
% http://www.ctan.org/tex-archive/help/Catalogue/entries/biblatex.html
% http://www.ctan.org/tex-archive/macros/latex/contrib/biblatex/doc/biblatex.pdf
\DeclareLanguageMapping{ngerman}{ngerman-apa} %Festlegen der Sprachoptionen für den Ziztierstil
\DeclareBibliographyCategory{primary}
\DeclareBibliographyCategory{secondary}
\defbibheading{primary}{\section*{Empfohlene Literatur}}
\defbibheading{secondary}{\section*{Weiterführende Literatur}}
\DeclareFieldFormat{note}{\sffamily\textbf{#1}\normalfont}
%\DeclareFieldFormat{note}{\sffamily\newline \textbf{Hinweis}:~{#1}\normalfont\newline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%% Definieren der benötigten Zähler %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
\newcounter{KlausurRevision}
\newcounter{@KlausurAufgabe}
\newcounter{@KlausurTeilAufgabe}
%
\newcounter{@KlausurPunkteGesamt}
\newcounter{@KlausurPunkteAufgabe}
\newcounter{@KlausurPunkteTeilaufgabe}
%
\newcounter{@KlausurTempA}
\newcounter{@KlausurTempB}
\newcounter{@KlausurTempC}
\newcounter{@KlausurTempD}
%
\pgfdeclareimage[height=1.5cm]{hnulogo}{e:/latex/hnulogo.png}
% Damit die Punkte referenziert werden können, muss der Wert mit RefStepcounter gesetzt werden.
% Daher wird vom regulären Wert erst 1 abgezogen und dann per RefStepCounter dazu addiert.
% --> Fazit. Wert bleibt gleich, wurde aber referenzierbar.
\newcommand{\@refstepcounter}[1]{\addtocounter{#1}{-1}\refstepcounter{#1}}
\newcommand{\@KlausurNeueAufgabe}
{
% Speichern der Punkte der vorherigen Aufgabe
\@refstepcounter{@KlausurPunkteAufgabe}\label{@KlausurPunkteAufgabe.\the@KlausurAufgabe}
%
% Speichern der AnzahlTeilaufgaben der vorherigen Aufgabe
\@refstepcounter{@KlausurTeilAufgabe} \label{@KlausurTeilAufgaben.\the@KlausurAufgabe}
%
% Speichern der Nummer der NEUEN Aufgabe
\refstepcounter{@KlausurAufgabe} \label{KlausurAufgabe.\the@KlausurAufgabe}
\setcounter{@KlausurTeilAufgabe}{0}
\setcounter{@KlausurPunkteAufgabe}{0}
\setcounter{@KlausurPunkteTeilaufgabe}{0}
}
\newcommand{\@KlausurNeueTeilAufgabe}[2]
{
\refstepcounter{@KlausurTeilAufgabe}
\ifthenelse{\equal{#2}{0}}{
\addtocounter{@KlausurPunkteGesamt}{#1}
\addtocounter{@KlausurPunkteAufgabe}{#1}}{}
\setcounter{@KlausurPunkteTeilaufgabe}{#1}
\@refstepcounter{@KlausurPunkteTeilaufgabe}
\label{@KlausurPunkteAufgabe.\the@KlausurAufgabe.\the@KlausurTeilAufgabe} % Speichern der Punkte der Teilaufgabe
}
%#1 Aufgabentitel bspw. theoretische Fragen
%#2 HintergrundInformationen
%#3 Aufgabenstellung
%#4 Punkte für diese Aufgabe
%#5 Bonusaufgabe
\newcommandx{\Aufgabe}[5][3=0,4=0,5=0]
{
\normalsize
\@KlausurNeueAufgabe
%%
%%
\minisec{Aufgabe~\the@KlausurAufgabe ~ #1 (\ref{@KlausurPunkteAufgabe.\the@KlausurAufgabe} Punkte)}
\addcontentsline{toc}{section}{Aufgabe~\the@KlausurAufgabe ~ #1 (\ref{@KlausurPunkteAufgabe.\the@KlausurAufgabe} P.)}
\if@GivePoints
\vspace{-0.5cm}
\setlength{\fboxrule}{0.3mm}
\@points{\ref{@KlausurPunkteAufgabe.\the@KlausurAufgabe}}\vspace{0.5cm}
\fi
#2 \ifthenelse{\equal{#5}{1}}{~(Bonusaufgabe!)}{}\\[1em]
\ifthenelse{\equal{#3}{0}}{}{#3\\[1em]}
\ifthenelse{\equal{#4}{0}}{}{\addtocounter{@KlausurPunkteGesamt}{#4}
\addtocounter{@KlausurPunkteAufgabe}{#4}}
}
%#1 Aufgabenstellung
%#2 Punkte für diese Aufgabe
%#3 isBonusaufgabe
\newcommandx{\TeilAufgabe}[3][3=0]
{
\normalsize
\@KlausurNeueTeilAufgabe{#2}{#3}
\vspace*{-1em}
\addtocounter{@KlausurTeilAufgabe}{-1}
\begin{enumerate}[label=\the@KlausurAufgabe.\alph*)] \setcounter{enumi}{\the@KlausurTeilAufgabe}
\item ~
\if@GivePoints
\vspace{0.5cm}
\setlength{\fboxrule}{0.3mm}
\@points{#2}\vspace{-0.5cm}
\fi
%
#1 \ifthenelse{\equal{#3}{1}}{~(Bonusaufgabe!)}{}
\end{enumerate}
\addtocounter{@KlausurTeilAufgabe}{1}
}
%
\newcommand{\KlausurMusterLoesung}[1]{
\setlength{\fboxrule}{0.1mm}
\if@answers
\else
\if@MusterLoesung
{\color{blue}\small\fbox{\begin{minipage}[t]{\textwidth}\textbf{Musterlösung:}~#1\end{minipage}}}
\fi
\fi
\setlength{\fboxrule}{1pt}
}
\newcommand{\KlausurErgebnis}[1]{
\setlength{\fboxrule}{0.1mm}
\if@answers
{\color{black}\small\fbox{\begin{minipage}[t]{\textwidth}\textbf{Ergebnis:}~#1\end{minipage}}} \tiny
\fi
\setlength{\fboxrule}{1pt} }
\newcommand{\KlausurKorrekturhinweis}[1]{
\setlength{\fboxrule}{0.1mm}
\if@answers
\else
\if@MusterLoesung
{\color{red}
\small\fbox{\begin{minipage}[t]{\textwidth}\raggedleft\textbf{Korrekturhinweis:}~\textsc{#1}\end{minipage}}}
\fi
\fi
\setlength{\fboxrule}{1pt} }
\newcommand{\KlausurErlaeuterung}[1]{
\setlength{\fboxrule}{0.1mm}
\if@answers
\else
\if@MusterLoesung
\ifthenelse{\equal{#1}{-}}{}{
{\color{green}\small\fbox{\begin{minipage}[t]{\textwidth}\textbf{Erläuterung zur Musterlösung:}~#1\end{minipage}}}}
\fi
\fi
\setlength{\fboxrule}{1pt} }
\newcommand{\ifisAufgabenstellung}[1]{\if@answers
\else
\if@MusterLoesung
\else
#1
\fi
\fi}
\newcommand{\ifisErgebnis}[1]{\if@answers #1\fi}
\newcommand{\ifisMusterLoesung}[1]{\if@MusterLoesung #1\fi}
%%#1 Aufgabenstellung
%%#2 Punkte für diese Aufgabe
%%#3 Ergebnis
%%#4 Musterlösung
%%#5 Raum Für Lösung D. Studenten
%%#6 Korrekturhinweise
%%#7 Raum für Erläuterungen
%\newcommandx{\TeilAufgabe}[7][7=\empty]
%{ \relax
%\normalsize
% \@KlausurNeueTeilAufgabe{#2}
% \vspace*{-1em}
% \addtocounter{@KlausurTeilAufgabe}{-1}
% \begin{enumerate}[label=\alph*)] \setcounter{enumi}{\the@KlausurTeilAufgabe}
% \item ~
% \if@GivePoints
% \vspace{0.5cm}
% \setlength{\fboxrule}{0.3mm}
% \@points{#2}\vspace{-0.5cm}
% \fi
%%
% #1
% \end{enumerate}
% \if@GiveLines
% \textbf{Ihre Lösung:} #5
% \fi
% \addtocounter{@KlausurTeilAufgabe}{1}
% \@KlausurPrintErgebnis[#3][#4][#7][#6]
% }
%
% %#1 Ergebnis
%%#2 Musterlösung
%%#3 Raum für Erläuterungen
%%#4 Korrekturhinweise
%\newcommandx{\@KlausurPrintErgebnis}[4][1=\empty,2=\empty,3=\empty,4=\empty]{
%\relax
% \setlength{\fboxrule}{0.1mm}
% \if@answers
% \ifthenelse{\equal{#1}{\empty}}{}{
% {\color{black}\small\fbox{\begin{minipage}[t]{\textwidth}\textbf{Ergebnis:}~#2\end{minipage}}}} \tiny
% \else
% \if@MusterLoesung
% \ifthenelse{\equal{#2}{\empty}}{}{
% {\color{blue}\tiny\fbox{\begin{minipage}[t]{\textwidth}\textbf{Musterlösung:}~#2\end{minipage}}}}
% \ifthenelse{\equal{#3}{\empty}}{}{
% {\color{green}\tiny\fbox{\begin{minipage}[t]{\textwidth}\textbf{Erläuterung zur Musterlösung:}~#3\end{minipage}}}}
% \ifthenelse{\equal{#4}{\empty}}{}{
% {\color{red}
% \tiny\fbox{\begin{minipage}[t]{\textwidth}\raggedleft\textbf{Korrekturhinweis:}~\textsc{#4}\end{minipage}}}}
% \fi
% \fi
% \setlength{\fboxrule}{1pt}
%}
%Gibt das Wort Musterlösung zurück wenn, die Lösung gegeben ist.
\newcommand{\KlausurGetType}
{
\vspace{0.6cm}\if@answers
\fbox{\textbf{Ergebnisse für Studenten}}
\else
\if@MusterLoesung
\fbox{\textbf{Musterlösung}}
\fi
\fi
\vspace{-0.6cm}
}
\newcommand{\@KlausurGetPunkte}[1]
{
\ifcase #1
(0~Punkte)
\or
(1~Punkt)
\else
(#1~Punkte)
\fi
}
%
\newdimen{\KlasurBlockWidth}
\newcommand{\KlausurPunkte}[1]
{ \noindent\sffamily\minisec{Punkte:} \vspace{-0.5cm}
\begin{multicols}{#1}
\setcounterref{@KlausurTempA}{@KlausurAufgaben} %Usepackage refcount
\setlength{\KlasurBlockWidth}{.9\textwidth}
\divide\KlasurBlockWidth by #1
\begin{flushright}
\forLoop{1}{\the@KlausurTempA}{@KlausurTempB}
{
\begin{minipage}[t]{3.5cm}%\begin{minipage}[t]{\KlasurBlockWidth}
\tiny \setcounterref{@KlausurTempC}{@KlausurTeilAufgaben.\the@KlausurTempB} %Usepackage refcount
\textbf{ Aufg.~\arabic{@KlausurTempB}} (max. ~\ref{@KlausurPunkteAufgabe.\the@KlausurTempB}~Pkt.) ~\vspace{-4.5ex}
\begin{flushright}\framebox[0.75cm][t]{\rule{0cm}{2.5ex}}\end{flushright}
~\vspace{-1ex}
~\\
%
\forLoop{1}{\the@KlausurTempC}{@KlausurTempD}
{
\tiny
\hspace*{1cm}\alph{@KlausurTempD}) (max. ~\ref{@KlausurPunkteAufgabe.\the@KlausurTempB.\the@KlausurTempD}~Pkt.)~\vspace{-5ex}
\begin{flushright}\framebox[.5cm][t]{\rule{0cm}{1.5ex}}\end{flushright}
~\vspace{-1ex}
~\\
}
\end{minipage}~\\
}
\end{flushright}
\end{multicols}
~\vspace{-2.5cm}
\begin{flushright}
\begin{tabular}{rc}
\textbf{\scriptsize Gesamt: (max.~\ref{@KlausurPunkteGesamt}~Pkt.) } & \raisebox{-0.4cm}[0.8cm]{\framebox[2cm][t]{\rule{0cm}{0.8cm}}} \\% \\
\textbf{\small Note: } & \raisebox{-0.4cm}[1cm]{\framebox[2cm][c]{\rule{0cm}{1cm} \huge ,}}%
\end{tabular}
\end{flushright}
}
%Erstellt einen Antwortkasten
\newcommandx{\KlausurAntwortKasten}[2][2=~]
{
\if@answers
\else
\if@MusterLoesung
\else
\noindent%
~\\\fbox{\begin{minipage}{\textwidth}
#2\rule{0mm}{#1}
\end{minipage}}
\fi
\fi
}
%Gibt einen Kasten für erreichte Punkte zurück
\newcommand{\@points}[1]{%
\if@answers
\else
\if@MusterLoesung
\else
\marginpar{\framebox[15mm]{\rule{0mm}{10mm}~\\[1em]}
\mbox{\tiny max.~ #1 p}}
\fi
\fi
}
\newcommand{\ChangePage}{
%
\relax
\changetext{}{-1cm}{0cm}{0cm}{}
\setheadwidth[-.5cm]{19.5cm}
\setfootwidth[-.5cm]{19.5cm}
\rohead{ \if@isGruppenarbeit
Gruppe: $\underline{\hspace{4cm}}$
\else
{ Vorname: $\underline{\hspace{4cm}}$\\[1em]Name: $\underline{\hspace{4cm}}$}
\fi}
}
\newcommand{\KlausurGetGruppenHeader}{
\if@isGruppenarbeit
% \multirow{Zeilen}{Breite}{Inhalt}
\multirow{1}{*}{ \textbf{Gruppe} }& \multicolumn{2}{|c|}{}\\[1em]\hline
\fi
}
\newcommand{\tocsection}[1]{\addtocontents{toc}{\vspace{\cftbeforesecskip}}
\addtocontents{toc}{\hspace{\cftsecindent}\cftsecfont{#1}\\}}
%erstellt eine Anzahl von Linien
\newcommand{\KlausurAntwortLinien}[1]
{
\if@answers
\else
\if@MusterLoesung
\else
\noindent%
\setcounter{@KlausurTempA}{0}
\loop\ifnum\value{@KlausurTempA}<#1%
\ifnum\value{@KlausurTempA}<1
~\hrulefill\\[0.5em]
\else
\rule{\textwidth}{0.4pt}\\[0.5em]
\fi
\addtocounter{@KlausurTempA}{1}%
\repeat%
\fi
\fi
}
%1 Anzahl Spalten für Kästen
\newcommand{\KlausurPunkteA}[1]{
\setcounter{@KlausurTempA}{0}
\setcounter{@KlausurTempB}{0}
\setcounterref{@KlausurTempA}{@KlausurAufgaben} %Usepackage refcount
\begin{multicols}{#1}[\minisec{Punkte:}] %\vspace*{-1cm}
\begin{flushright}
\loop\ifnum\the@KlausurTempB<\the@KlausurTempA
\addtocounter{@KlausurTempB}{1}%Klausuren fangen bei 0 an zu zählen, damit <= Bedingung hinhaut
\textbf{\tiny Aufg.~\arabic{@KlausurTempB} ~\ref{@KlausurPunkteAufgabe.\the@KlausurTempB}~Pkt.} \framebox[1cm][t]{\rule{0cm}{2ex}} \\
\@KlausurGetSubPoints
\repeat%
\end{flushright}
\end{multicols}
\begin{flushright}
\textbf{\tiny Gesamt: max.~\ref{@KlausurPunkteGesamt}~Pkt. } \framebox[2cm][t]{\rule{0cm}{3ex}} %
\end{flushright}
\setlength{\fboxrule}{1pt}%
\begin{flushright}
\textbf{\tiny Note: } \framebox[2cm][c]{\rule{0cm}{4ex} \huge ,} %
\end{flushright}
\setlength{\fboxrule}{0.5pt}%
}
\newcommand{\@KlausurGetSubPoints}
{
\setcounter{@KlausurTempC}{0}
\setcounter{@KlausurTempD}{0}
\setcounterref{@KlausurTempC}{@KlausurTeilAufgaben.\the@KlausurTempB} %Usepackage refcount
\typeout{@KlausurTeilAufgaben.KlausurTempB: = '@KlausurTeilAufgaben.\the@KlausurTempB' = \the@KlausurTempC }
\loop\ifnum\the@KlausurTempD<\the@KlausurTempC
\addtocounter{@KlausurTempD}{1}%
\tiny Aufg.~\arabic{@KlausurTempB}.\alph{@KlausurTempD} ~\ref{@KlausurPunkteAufgabe.\the@KlausurTempB.\the@KlausurTempD}~Pkt.\\
\repeat%
}
\AtEndDocument{
\@refstepcounter{@KlausurPunkteGesamt}\label{@KlausurPunkteGesamt}% %Punkte insgesamt speichern
\@refstepcounter{@KlausurAufgabe}\label{@KlausurAufgaben}% %Anzahl Aufgaben speichern
\@KlausurNeueAufgabe %Punkte der letzten Aufgabe speichern
}
\AtBeginDocument{
\setKlausurVersion
\setcounter{@KlausurAufgabe}{0}
\setcounter{@KlausurTeilAufgabe}{0}
%
\setcounter{@KlausurPunkteGesamt}{0}\setcounter{@KlausurPunkteAufgabe}{0}\setcounter{@KlausurPunkteTeilaufgabe}{0}
%
\setcounter{@KlausurTempA}{0}
\setcounter{@KlausurTempB}{0}
\setcounter{@KlausurTempC}{0}
\setcounter{@KlausurTempD}{0}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setlength{\parskip}{\baselineskip} \setlength{\parindent}{0pt} % Absatz ohne Einzug ,
\setlength{\itemsep}{0.3\itemsep}
\setlength{\topsep}{0.3\topsep}
\setlength{\headheight}{2\headheight}
\setkomafont{caption}{\sffamily\itshape\small\mdseries}
\setkomafont{captionlabel}{\sffamily\bfseries\upshape}
%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% Kopf-Und Fußzeilen %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagestyle{scrheadings}\setheadsepline{0.6pt}\setfootsepline{0.6pt}
\clearscrheadfoot
\lehead{lehead}
\rehead{rehead}
\chead{\KlausurProfessor}
\setkomafont{pageheadfoot}{\normalfont\scriptsize\sffamily}
\lohead{\KlausurName\\\KlausurFach}
\rohead{}
%
\lofoot{\tiny\svnInfoFile~(Rev. \#\svnInfoRevision~-~\svnInfoLongDate~
\StrSubstitute{\svnInfoTime}{Z}{~Uhr})}
\rofoot{Seite~\thepage/\pageref{mylastpage}}
\cfoot{\KlausurGetType}
%% Erspart ein paar Fehlermeldungen.
\sloppy%
\hfuzz2pt%
\vfuzz2pt%
% hat was mit Abstaenden zu tun
\frenchspacing
\AtBeginDocument{
% Hurenkinder und Schusterjungen vermeiden!
% (Verweiste einzelne Worte auf einer Seite)
\clubpenalty = 10000
\widowpenalty = 10000
\displaywidowpenalty = 10000
\interfootnotelinepenalty=10000 %Verhindert Seitenumbruch in Fußnoten
}
\makeatletter
\renewcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
\renewcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
\renewcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
\renewcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}}
\renewcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
\renewcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
\makeatother
% }
\newcommandx{\TitleTutoriumA}[1][1=HNUDunkelGruen]
{
%\begin{titlepage}
\singlespacing
%\vspace*{1cm}
\LARGE
\textbf{\KlausurFach} \\[0.5cm]
\Large\KlausurName\\[0.5cm]
\normalsize
\begin{tikzpicture}[remember picture,overlay]
\node[xshift=.98\textwidth,yshift=-0.93cm] at (current page.north west) {
\pgfuseimage{hnulogo}} ;\end{tikzpicture}
\putSVNinfoTable
\begin{tikzpicture}
\filldraw[fill=#1,draw=#1] (0,0) rectangle ( 0.99\textwidth,2cm);
\ifthenelse{\boolean{@answers}}
{
\draw
(0.5\textwidth,1cm) node[fill=#1] {\Large\KlausurGetType};
}{
\ifthenelse{\boolean{@MusterLoesung}}
{
\draw
(0.5\textwidth,1cm) node[fill=#1] {\Large\KlausurGetType};
}{ }}
\end{tikzpicture}
\vspace*{-0.75cm}
\begin{table}[H]
\begin{tabular}{p{0.3\textwidth}p{0.32\textwidth}p{0.3\textwidth}}
\begin{flushleft}
\small\textbf{Prof. Dr. Ing. Oliver Kunze}\\\footnotesize oliver.kunze@hs-neu-ulm.de
\end{flushleft}
&
\begin{center}
\small\textbf{Dipl. Kfm. Felix Lindemann} \\\footnotesize felix.lindemann@hs-neu-ulm.de
\end{center}
&
\begin{flushright}
\small\textbf{Sebastian Rosemeier M.A.}\\\footnotesize sebastian.rosemeier@hs-neu-ulm.de
\end{flushright}
\end{tabular}
\end{table}
\vspace*{-1cm}
\textbf{HNU Hochschule Neu-Ulm}\\\textbf{University of Applied Sciences}
%\vspace*{-0.75 cm}
\begin{table}[H]
\begin{tabular}{|p{0.15\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|p{0.18\textwidth}|}
\hline
Gruppe: & \multicolumn{4}{|c|}{} \\[1em]\hline
Name, Vorname: & & & & \\[1em]\hline
Matr.No.: & & & & \\[1em]\hline
\end{tabular}
\end{table}
%\hrulefill
\begin{center}
\small \textbf{Abgabe bis:~\KlausurDatum~in der Poststelle mit Zeitstempel }\normalsize
\end{center}\vspace*{-0.5cm}
\hrulefill
\vspace*{-1cm}
%\vspace*{-0.5cm}
\tableofcontents\vspace*{-0.5cm} \hrulefill
\vspace*{-0.5cm}
\KlausurPunkte{4}%[3]
\newpage
\ifisAufgabenstellung{
\TutoriumBearbeitungshinweise
\nocite{*}
\addcontentsline{toc}{section}{Empfohlene Literatur}
\addcontentsline{toc}{section}{Weiterführende Literatur}
\bibbycategory\newpage}
\ChangePage
}
\newcommand{\TitleTutoriumB}
{\changetext{}{-1cm}{0cm}{0cm}{}
\setheadwidth[-.5cm]{19.5cm}
\setfootwidth[-.5cm]{19.5cm}
%
%
%\newcommand{\KlausurTyp}{Typ der Klausur}
%\newcommand{\KlausurName}{Name der Klausur}
%\newcommand{\KlausurFach}{Transportwirtschaft}
\minisec{\KlausurName~- (\ref{@KlausurAufgaben}~Aufgaben -~ \ref{@KlausurPunkteGesamt}~Punkte)}
%
\begin{table}[H]\centering
\begin{tabular}{|p{0.4\textwidth}|p{0.4\textwidth}|p{0.2\textwidth}|}\hline
\KlausurGetGruppenHeader
\textbf{Vorname} & \textbf{Nachname} & \textbf{Matrikelnummer}\\\hline
& & \\[1em]\hline
& & \\[1em]\hline
& & \\[1em]\hline
& & \\[1em]\hline
\end{tabular}
\end{table}
\vspace{-1cm}\large
\TutoriumBearbeitungshinweise
%\end{description}
\vspace{-1.5cm}
\hrulefill~\\%
{ \tableofcontents} \vspace{-0.75cm}
\hrulefill\\\vspace{-1.3cm}
\normalsize
}
\newcommand{\TutoriumBearbeitungshinweise}{
\minisec{Bearbeitungshinweise - Bitte sorgsam lesen!}
%\addcontentsline{toc}{section}{Bearbeitungshinweise - Bitte sorgsam lesen!}
\small
%\begin{description}
\vspace{-0.2cm}
\textbf{Sprache:}
Antworten Sie entweder auf Deutsch oder auf Englisch\\
\textbf{Hilfsmittel:}
Lineal, Zirkel, Taschenrechner, MS-Office Produkte\\
\textbf{Vorgeschlagene Bearbeitungsdauer:} ca. 120 Minuten\\
\textbf{Abgabe der Antworten:}
Schreiben Sie Ihren Namen auf alle Angabenblätter. Schreiben Sie Ihre Antworten in die untenstehenden Lücken. Falls diese nicht ausreichen, nutzen Sie die Rückseiten. \textbf{Die Abgabe per eMail wird nicht akzeptiert.
Bitte denken Sie daran, Kopien dieses Übungsblattes für Ihre Unterlagen anzufertigen!} \\
Zur Lösung dieses Arbeitsblattes können Sie die gängigen Office-Produkte einsetzen!
$\rightarrow$ Nutzen Sie bspw. MS-Excel bei der Durchführung der Berechnungen.
Bitte verwenden Sie das Deckblatt dieses Arbeitsblattes für Ihr Übungsblatt und heften (Tacker) Sie alle Seiten zusammen. \textbf{Bitte keine Büroklammern verwenden}.\\
\textbf{Bitte Geben Sie die Aufgaben bis zum~\KlausurDatum~ in der Poststelle ab.}\\\normalsize}
%
\newcommandx{\KlausurFinalize}{\label{mylastpage}}
%
%Hnu Farben
%blautöne
\definecolor{HNUBlue}{RGB}{60, 101, 161}
\definecolor{HNUPremiumBlue}{RGB}{24, 43, 69}
\definecolor{HNUNachtBlau}{RGB}{21, 39, 99}
\definecolor{HNUFahne}{RGB}{63, 154, 201}
%grüntöne
\definecolor{HNUHellGruen}{RGB}{238, 238, 122}
\definecolor{HNUMittelGruen}{RGB}{224, 226, 45}
\definecolor{HNUDunkelGruen}{RGB}{175, 193, 36}
%pink
\definecolor{HNUViolett}{RGB}{121, 62, 128}
\definecolor{HNUMagenta}{RGB}{212, 48, 114}
%Weiss
\definecolor{HNUWeiss}{RGB}{255, 255, 255}
\definecolor{HNUKWeiss}{RGB}{254, 254, 254}
\definecolor{HNUSchwarz}{RGB}{0, 0, 0}
%Grau
\definecolor{HNUGrau10}{RGB}{223, 224, 226}
\definecolor{HNUGrau25}{RGB}{192, 192, 192}
\definecolor{HNUGrau50}{RGB}{150, 150, 150}
\definecolor{HNUGrau75}{RGB}{51, 51, 51}
% Wenn das Dokument mit Subversion verwaltet werden soll,
% am Anfang eines jeden Teil-Dokuments --> %\svn $$ <-- einfügen
% außerdem die Attribute 'Date HeadURL Revision Id' für das repository setzen
% neue Dateien mit Add-Funktion hinzufügen
% http://www.uweziegenhagen.de/academic/publications/svndtk.pdf
% http://www.tex.ac.uk/ctan/macros/latex/contrib/svninfo/svninfo.pdf
%
%Verfügbare Makros:
% \svnInfoFile Dateiname,
% \svnInfoRevision Revisionsnummer,
% \svnInfoDate Datum des letzten check-in,
% \svnInfoTime Zeit des letzten check-in,
% \svnInfoYear Jahr wie in \svnInfoDate,
% \svnInfoMonth Monat wie in \svnInfoDate,
% \svnInfoDay Tag wie \svnInfoDate,
% \svnInfoOwner Besitzer der Datei,
% \svnToday Datum des letzten Check-in im \today Format,
% \svnInfoMinRevision minimale Revision des gesamten Dokuments,
% \svnInfoMaxRevision maximale Revision des gesamten Dokuments
\newcommand{\putSVNinfoTable}{
\begin{tikzpicture}[remember picture, overlay]
\node [shift={(0cm,1.4cm)}] at (current page.south)
{\small
% \scriptsize
\centering
\begin{tabular}{|rl|}
\hline
\textbf{Projekt:} & \textbf{\svnInfoFile} \\
Owner: \svnInfoOwner & Revision: \svnInfoRevision \\
Stand: & \svnInfoLongDate~\StrSubstitute{\svnInfoTime}{Z}{~Uhr}
%~Koordinierte Weltzeit (-2 h)
\\
% & & \multicolumn{2}{r|}{Koordinierte Weltzeit (-2 h) } \\
\hline
\end{tabular}};
\end{tikzpicture}}
%\newcommand{\putSVNinfo}{
%\fbox{\small\svnInfoFile (Rev. \svnInfoRevision \svnInfoLongDate~
%\StrSubstitute{\svnInfoTime}{Z}{~Uhr %[Koordinierte Weltzeit -2 h]
%}
%)
%}
%}
\newcommand{\putSVNinfo}{
\begin{tikzpicture}[remember picture, overlay]
\node [shift={(3cm,0.3cm)}] at (current page.south west)
{\tiny\svnInfoFile~(Rev. \#\svnInfoRevision~-~\svnInfoLongDate~
\StrSubstitute{\svnInfoTime}{Z}{~Uhr %[Koordinierte Weltzeit -2 h]
})
};
\end{tikzpicture}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment