From fdb3def42fa21976a78781d45d5abcc2e54424e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maximilian=20Ke=C3=9Fler?= Date: Tue, 27 Apr 2021 00:20:45 +0200 Subject: [PATCH] added first packages --- fancythm.sty | 109 ++++++++++++++++++ mymath.sty | 304 ++++++++++++++++++++++++++++++++++++++++++++++++++ operators.sty | 71 ++++++++++++ sheet.cls | 77 +++++++++++++ 4 files changed, 561 insertions(+) create mode 100644 fancythm.sty create mode 100644 mymath.sty create mode 100644 operators.sty create mode 100644 sheet.cls diff --git a/fancythm.sty b/fancythm.sty new file mode 100644 index 0000000..5bd5761 --- /dev/null +++ b/fancythm.sty @@ -0,0 +1,109 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{fancythm}[2021/03/31 - Theorem-Environment Package by Maximilian Kessler (private use)] +\newif\ifenglish\englishtrue +\DeclareOption{english}{\englishtrue} +\DeclareOption{german}{\englishfalse} +\DeclareOption*{\PackageWarning{fancythm}{Unknown '\CurrentOption'}} + +\ProcessOptions\relax + +%Theorem-environments +\RequirePackage{amsthm} +\RequirePackage{mdframed} +\RequirePackage[skins]{tcolorbox} +\mdfsetup{skipabove=\topskip,skipbelow=\topskip} + +%%%Define styles +\newtheoremstyle{own}%〈name〉 +{3pt}%〈Space above〉1 +{3pt}%〈Space below〉1 +{}%〈Body font〉 +{}%〈Indent amount〉2 +{\bfseries}%〈Theorem head font〉 +{.}%〈Punctuation after theorem head〉 +{.5em}%〈Space after theorem head〉3 +{}%〈Theorem head spec(can be left empty, meaning ‘normal’)〉 + +\theoremstyle{own} + +%%%Define styles for mdframed +\global\mdfdefinestyle{thm}{linecolor=red,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, backgroundcolor=red!8, rightline=false, topline=false, bottomline=false} + +\global\mdfdefinestyle{lemma}{linecolor=orange,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, backgroundcolor=orange!10, rightline=false, topline=false, bottomline=false} + +\global\mdfdefinestyle{definition}{linecolor=blue,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, backgroundcolor=blue!7, rightline=false, topline=false, bottomline=false} + +\global\mdfdefinestyle{example}{linecolor=green!70!black,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, rightline=false, topline=false, bottomline=false} + +\global\mdfdefinestyle{remark}{linecolor=yellow!80!orange,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, rightline=false, topline=false, bottomline=false} + + +\global\mdfdefinestyle{notation}{linecolor=violet,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, backgroundcolor=violet!7, rightline=false, topline=false, bottomline=false} + +\global\mdfdefinestyle{theoremdef}{linecolor=red,linewidth=2pt,leftmargin=0cm,rightmargin=0cm, backgroundcolor=blue!7, rightline=false, topline=false, bottomline=false} + + +%Theorem +\newtheorem{protothm}{\ifenglish Theorem\else Satz \fi}[section] +\newenvironment{theorem}{\begin{mdframed}[style=thm] \begin{protothm}}{\end{protothm}\end{mdframed}} + +%Unnumbered Theorem +\newtheorem*{protothm*}{\ifenglish Theorem\else Satz\fi} +\newenvironment{theorem*}{\begin{mdframed}[style=thm] \begin{protothm*}}{\end{protothm*}\end{mdframed}} + +%Proposition +\newtheorem{protoprop}[protothm]{Proposition} +\newenvironment{proposition}{\begin{mdframed}[style=thm] \begin{protoprop}}{\end{protoprop}\end{mdframed}} + +%Unnumbered Proposition +\newtheorem{protoprop*}[protothm]{Proposition} +\newenvironment{proposition*}{\begin{mdframed}[style=thm] \begin{protoprop*}}{\end{protoprop*}\end{mdframed}} + +%Corollary +\newtheorem{protocor}[protothm]{\ifenglish Corollary\else Korollar\fi} +\newenvironment{corollary}{\begin{mdframed}[style=thm] \begin{protocor}}{\end{protocor}\end{mdframed}} + +%Unnumbered Corollary +\newtheorem{protocor*}[protothm]{\ifenglish Corollary\else Korollar\fi} +\newenvironment{corollary*}{\begin{mdframed}[style=thm] \begin{protocor*}}{\end{protocor*}\end{mdframed}} + +%Lemma +\newtheorem{protolemma}[protothm]{Lemma} +\newenvironment{lemma}{\begin{mdframed}[style=lemma] \begin{protolemma}}{\end{protolemma}\end{mdframed}} + +%Unnumbered Lemma +\newtheorem*{protlemma*}{Lemma} +\newenvironment{lemma*}{\begin{mdframed}[style=lemma] \begin{protolemma*}}{\end{protolemma*}\end{mdframed}} + +%Definition +\newtheorem{protodefinition}[protothm]{Definition} +\newenvironment{definition}{\begin{mdframed}[style=definition] \begin{protodefinition}}{\end{protodefinition}\end{mdframed}} + +%unnumbered Definition +\newtheorem*{protodefinition*}{Definition} +\newenvironment{definition*}{\begin{mdframed}[style=definition] \begin{protodefinition*}}{\end{protodefinition*}\end{mdframed}} + +%Theorem + Definition +\newtheorem{prototheoremdef}[protothm]{\ifenglish Theorem and Definition\else Satz und Definition\fi} +\newenvironment{theoremdef}{\begin{mdframed}[style=theoremdef] \begin{prototheoremdef}}{\end{prototheoremdef}\end{mdframed}} + +%Notation +\newtheorem*{protonotation}{Notation} +\newenvironment{notation}{\begin{mdframed}[style=notation] \begin{protonotation}}{\end{protonotation}\end{mdframed}} + +%Example +\newtheorem*{protoexample}{\ifenglish Example\else Beispiel\fi} +\newenvironment{example}{\begin{mdframed}[style=example] \begin{protoexample}}{\end{protoexample}\end{mdframed}} + +%Remark +\newtheorem*{protoremark}{\ifenglish Remark\else Bemerkung\fi} +\newenvironment{remark}{\begin{mdframed}[style=remark] \begin{protoremark}}{\end{protoremark}\end{mdframed}} + + + +\newtcolorbox{recap}{before skip = 0.5cm, after skip = 0.5cm, enhanced, sharp corners = all, colback = white, colframe = gray, toprule=0pt, bottomrule=0pt, leftrule=0pt,rightrule=0pt, overlay = { + \draw[gray, line width = 2pt] (frame.north west) -- ++(0.5cm, 0pt); + \draw[gray, line width=2pt] (frame.south east) -- ++(-0.5cm, 0pt); + \draw[gray, line width=2pt] (frame.north west) -- ++ (0pt, -0.5cm); + \draw[gray, line width=2pt] (frame.south east) -- ++(0pt, 0.5cm); +}} diff --git a/mymath.sty b/mymath.sty new file mode 100644 index 0000000..626b495 --- /dev/null +++ b/mymath.sty @@ -0,0 +1,304 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{mymath}[2021/03/31 - Math package by Maximilian Kessler (private use)] + +%The language to pass to babel +\newif\ifenglish\englishtrue +\DeclareOption{german}{\englishfalse} +\DeclareOption{english}{\englishtrue} +% When working with beamer some things have to be done differently +\newif\ifbeamer\beamerfalse +\DeclareOption{nobeamer}{\beamerfalse} +\DeclareOption{beamer}{\beamertrue} + +%Options for onehalf-spacing of lines +\newif\ifonehalfspacing\onehalfspacingfalse %default is normalspace +\DeclareOption{onehalfspacing}{\onehalfspacingtrue} +\DeclareOption{normalspacing}{\onehalfspacingfalse} + +%Options for utf8 or utf8x - encoding +\newif\ifutf\utftrue %by default, utf8 is not enabled +\DeclareOption{utf8x}{\utffalse} +\DeclareOption{utf8}{\utftrue} + +%Options for lukas +\newif\iflukas\lukasfalse +\DeclareOption{lukas}{\lukastrue} + +%Options for including theorem-environments or not. +\newif\iffancythm\fancythmfalse +\DeclareOption{fancythm}{\fancythmtrue} + + +\DeclareOption*{\PackageWarning{mymath}{Unknown '\CurrentOption'}} +\ProcessOptions\relax + + +\RequirePackage[\ifenglish english \else ngerman\fi]{babel} +\RequirePackage[T1]{fontenc} + +% When using utf8x, we have to load ucs and inputenc with utf8x option and must exclude bibtex +% When not using utf8x (plan utf8), we must NOT load ucs, and then load inputenc with utf8-option as well as bibtex +% also, when using plain utf8, we want to load the newunicodechar package +\ifutf +\RequirePackage{newunicodechar} +\newunicodechar{α}{\ensuremath\alpha} +\newunicodechar{β}{\ensuremath\beta} +\newunicodechar{γ}{\ensuremath\gamma} +\newunicodechar{δ}{\ensuremath\delta} +\newunicodechar{ε}{\ensuremath\epsilon} +\newunicodechar{ζ}{\ensuremath\zeta} +\newunicodechar{η}{\ensuremath\eta} +\newunicodechar{θ}{\ensuremath\theta} +\newunicodechar{ι}{\ensuremath\iota} +\newunicodechar{κ}{\ensuremath\kappa} +\newunicodechar{λ}{\ensuremath\lambda} +\newunicodechar{μ}{\ensuremath\mu} +\newunicodechar{ν}{\ensuremath\nu} +\newunicodechar{ξ}{\ensuremath\xi} +\newunicodechar{π}{\ensuremath\pi} +\newunicodechar{ρ}{\ensuremath\rho} +\newunicodechar{σ}{\ensuremath\sigma} +\newunicodechar{τ}{\ensuremath\tau} +\newunicodechar{υ}{\ensuremath\upsilon} +\newunicodechar{φ}{\ensuremath\phi} +\newunicodechar{χ}{\ensuremath\chi} +\newunicodechar{ψ}{\ensuremath\psi} +\newunicodechar{ω}{\ensuremath\omega} + +\RequirePackage[backend=biber,style=alphabetic]{biblatex} +\else +\RequirePackage[mathletters]{ucs} +\fi +\RequirePackage[\ifutf utf8\else utf8x\fi]{inputenc} + +\RequirePackage{anyfontsize} +\RequirePackage{lmodern} +\RequirePackage{amsmath} +\RequirePackage{mathtools} +\RequirePackage{amsthm} +\RequirePackage{amssymb} +\RequirePackage{bm} % bold math symbols +\RequirePackage{comment} +\RequirePackage{soul} +\RequirePackage{subfig} +\usepackage{mathrsfs} +\ifbeamer +\else \RequirePackage[shortlabels]{enumitem}\fi +\RequirePackage{hyperref} % Hyperlinks + +% TIKZ +\RequirePackage{tikz} +\usetikzlibrary{calc, intersections, through, quotes, angles, babel, positioning} +\RequirePackage{tkz-euclide} +\RequirePackage[export]{adjustbox} +%Commutative diagrams +\RequirePackage{tikz-cd} + +%%for small diagrams, similar to tikz-cd +\usepackage{xy} % for small diagrams, e.g. arrows +\xyoption{all} + +%%% AMSTHM +\iffancythm + \RequirePackage{fancythm} +\else +\theoremstyle{plain} +\ifbeamer\else +\newtheorem{theorem}{\ifenglish Theorem\else Satz\fi} +\newtheorem{corollary}{\ifenglish Corollary\else Korollar\fi} +\newtheorem*{lemma}{Lemma} +\fi +\newtheorem{proposition}{Proposition} + + +\theoremstyle{definition} +\ifbeamer\else +\newtheorem{definition}{Definition} +\newtheorem{example}{\ifenglish Example\else Beispiel\fi} +\fi +\newtheorem*{remark}{\ifenglish Remark\else Bemerkung\fi} +\newtheorem*{notation}{Notation} + +\fi %end of theorem definitions + + +%%Theorems needed in any case (fancy or not fancy theorems) + +\theoremstyle{plain} +\newtheorem{claim}{\ifenglish Claim\else Behauptung\fi} +\newtheorem{variant}{\ifenglish Variant\else Variante\fi} +\newtheorem{assumption}{\ifenglish Assumption\else Annahme\fi} + +\theoremstyle{definition} +\newtheorem*{fact}{\ifenglish Fact\else Fakt\fi} +\newtheorem*{note}{\ifenglish Note\else Anmerkung\fi} +\newtheorem*{warning}{\color{red}\ifenglish Warning \else Warnung\fi} +\newtheorem*{goal}{\ifenglish Goal \else Ziel\fi} +\newtheorem{question}{\ifenglish Question \else Frage \fi} +\newtheorem*{problem}{Problem} +\newtheorem*{info}{Information} +\newtheorem*{moral}{Moral} +\newtheorem*{answer}{\ifenglish Answer\else Antwort\fi} +\newtheorem*{observe}{\ifenglish Observe\else Beobachte\fi} +\newtheorem*{property}{\ifenglish Property\else Eigenschaft\fi} +\newtheorem*{intuition}{Intuition} +\newtheorem*{recall}{\ifenglish Recall\else Erinnerung\fi} +\newtheorem*{idea}{\ifenglish Idea\else Idee\fi} +\newtheorem{exercise}{\ifenglish Exercise\else Aufgabe\fi} + + +\ifbeamer\else\newenvironment{solution}[1][]{\begin{proof}[\ifenglish{}Solution\else{}Lösung\fi{}#1]}{\end{proof}}\fi + + +% Für Formeln +\RequirePackage{mathabx} +\RequirePackage{faktor} +\RequirePackage[mathscr]{eucal} + +\RequirePackage{blindtext} +\RequirePackage{tabto} +\RequirePackage{lastpage} %\pageref{LastPage} for reference on the last page + +% Für Tabulatoren + +\RequirePackage{pdfpages} % PDF-Dateien einbinden + +% Für Zeilenumbruch +\RequirePackage{microtype} +\RequirePackage{changepage} + + +%Für Zeilenabstand 1,5 +\ifonehalfspacing +\RequirePackage[onehalfspacing]{setspace} \else +\fi + +%For setting counters of itemns in \enemerate +\makeatletter +\newcommand\setItemnumber[1]{\setcounter{enum\romannumeral\@enumdepth}{\numexpr#1-1\relax}} +\makeatother + +%Make circled symbols +\newcommand*\circled[1]{\tikz[baseline=(char.base)]{ + \node[shape=circle,draw,inner sep=2pt] (char) {#1};}} + +%Print a warning sign +\newcommand\Warning{% + \makebox[1.4em][c]{% + \makebox[0pt][c]{\raisebox{.1em}{\small!}}% + \makebox[0pt][c]{\color{red}\Large$\bigtriangleup$}}}% + +% Add \contra symbol to denote contradiction +\usepackage{stmaryrd} % for \lightning +\newcommand\contra{\scalebox{1.5}{$\lightning$}} + + +%Emphasize \vocabulary +\newcommand{\vocab}[1]{\textbf{\color{blue} #1}} + + + + +%%%%math operators +\usepackage{operators} + +%Short commands for \mathbb{} + +\newcommand{\C}{\ensuremath{\mathbb{C}}} +\newcommand{\F}{\ensuremath{\mathbb{F}}} +\newcommand{\K}{\ensuremath{\mathbb{K}}} +\newcommand{\N}{\ensuremath{\mathbb{N}}} +\newcommand{\Q}{\ensuremath{\mathbb{Q}}} +\newcommand{\R}{\ensuremath{\mathbb{R}}} +\newcommand{\Z}{\ensuremath{\mathbb{Z}}} + + +%Paired Delimiters +\DeclarePairedDelimiter\ceil{\lceil}{\rceil} +\DeclarePairedDelimiter\floor{\lfloor}{\rfloor} + +%Norm and absolute value +%Make them scaling by default and have \abs*{} as the non-scaling version of the command +\DeclarePairedDelimiter\abs{\lvert}{\rvert} +\makeatletter +\let\oldabs\abs +\def\abs{\@ifstar{\oldabs}{\oldabs*}} + +\DeclarePairedDelimiter\norm{\lVert}{\rVert} +\let\oldnorm\norm +\def\norm{\@ifstar{\oldnorm}{\oldnorm*}} +\makeatother + + +%Fixes of common misbehaviour +\renewcommand{\degree}{^\circ} + +%Used to start an exercise and resetting the equation number +\newcommand{\nr}[1]{\setcounter{equation}{0}\section*{\ifenglish Exercise \else Aufgabe \fi #1}~} + + +\ifbeamer\else\RequirePackage{esint}\fi + +\RequirePackage{IEEEtrantools} + +\usepackage[ngerman,ruled,vlined]{algorithm2e} + +\iflukas +\newcommand{\RrClA}{\begin{IEEEeqnarray*}{RrCl}} +\newcommand{\RrClZ}{\end{IEEEeqnarray*}} +\newcommand{\RrCla}{\begin{IEEEeqnarray}{RrCl}} +\newcommand{\RrClz}{\end{IEEEeqnarray}} +\newcommand{\ud}{\,\mathrm{d}} +\newcommand{\dLx}[1]{\;\ud\mathcal{L}^{#1}(x)} +\setenumerate[1]{label=(\alph*)} + +%%%%%%%%%%%%% INDUKTION %%%%%%%%%%%%%%%%% +\newcommand{\its}{Das gilt offentsichtlich.} +\newcommand\induktion[6][\its]{ + \def\n{#2} + \def\kn{#2} + Es sei $P(\n)$ die Aussage, dass: + \RrClA + P(\n) : \equiv \qquad \left(#5 \right) + \RrClZ + Diese soll nun per Induktion über $#3$ gezeigt werden. + \begin{enumerate} + \item [\underline{IA:}]Für den Induktionsanfang muss $P(#4)$ gezeigt werden, d.h.: + \def\n{#4} + \def\kn{#4} + \RrClA + P(#4) \equiv \qquad \left(#5\right) + \RrClZ + #1\ Also ist der Induktionsanfang gezeigt. + \def\n{#2} + \def\kn{#2} + \item [\underline{IV:}] Angenommen $P(\n)$ gilt für ein $\n \in #3$, d.h. es gilt: + \RrClA + P(\n) \equiv \qquad \left(#5\right) + \RrClZ + \item [\underline{IS:}] + Im Induktionsschritt von $\n$ auf $\n+1$ muss gezeigt werden, dass unter Annahme der Induktionsvoraussetzung auch die Induktionsbehauptung gilt: + \def\n{#2+1} + \def\kn{(#2+1)} +\RrClA + P(\n) \equiv \qquad \left(#5\right) +\RrClZ +#6 + +\def\n{#2} +\def\kn{#2} +Damit ist der Induktionsschritt erbracht und es gilt für alle $#2$ in $#3$: +\RrClA + \forall \n \in #3 : #5 +\RrClZ + \end{enumerate} +} +%[Begründung IA]{$Variablenname$}{$Ursprungsmenge$}{$Startwert$}{$Aussage (variable ist \n, \kn)$}{Begründung IS} +%\n ist n oder n+1, \kn ist n oder (n+1) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\else +\fi + + + + diff --git a/operators.sty b/operators.sty new file mode 100644 index 0000000..52386b1 --- /dev/null +++ b/operators.sty @@ -0,0 +1,71 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{operators}[2021-04-26 - Operators package] + +\newif\ifenglish\englishtrue +\DeclareOption{german}{\englishfalse} +\DeclareOption{english}{\englishtrue} +\DeclareOption*{\PackageWarning{operators}{Unknown '\CurrentOption'}} +\ProcessOptions\relax + + +% One with double line +\newcommand*{\IONE}{\ensuremath{\mathds{1}}} + +\DeclareMathOperator{\id}{id} +\DeclareMathOperator{\Int}{Int} +\DeclareMathOperator{\Sym}{Sym} +\DeclareMathOperator{\supp}{supp} +\DeclareMathOperator{\Gr}{Gr} +\DeclareMathOperator{\odd}{odd} +\DeclareMathOperator{\sgn}{sgn} +\DeclareMathOperator{\im}{im} +\DeclareMathOperator{\rank}{rank} +\DeclareMathOperator{\conv}{conv} +\DeclareMathOperator{\coker}{coker} +\DeclareMathOperator{\dz}{dz} +\DeclareMathOperator{\ex}{ex} +\DeclareMathOperator{\dt}{dt} +\DeclareMathOperator{\Ext}{Ext} +\DeclareMathOperator{\Tor}{Tor} +\DeclareMathOperator{\Mspec}{MaxSpec} +\DeclareMathOperator{\Proj}{Proj} +\DeclareMathOperator{\QCoh}{QCoh} +\renewcommand\Im\im +\DeclareMathOperator{\Mor}{Mor} +\DeclareMathOperator{\Hom}{Hom} +\DeclareMathOperator{\Gal}{Gal} +\DeclareMathOperator{\MaxSpec}{MaxSpec} +\DeclareMathOperator{\Fun}{Fun} +\DeclareMathOperator{\Presh}{Pre-Sh} +\DeclareMathOperator{\Sh}{Sh} +\DeclareMathOperator{\dif}{diff} +\DeclareMathOperator{\opp}{opp} +%\DeclareMathOperator\ggT\relax +\DeclareMathOperator{\ggT}{\ifenglish gcd \else ggT\fi} +\let\kgV\relax\DeclareMathOperator{\kgV}{kgV} +\DeclareMathOperator{\op}{op} +\DeclareMathOperator{\dist}{dist} +\DeclareMathOperator{\Bild}{Bild} +\DeclareMathOperator{\rhs}{RHS} +\DeclareMathOperator{\diam}{diam} +\DeclareMathOperator{\dx}{dx} +\DeclareMathOperator{\dy}{dy} +\DeclareMathOperator{\Impart}{Im} +\renewcommand\Im\Impart +\DeclareMathOperator{\Repart}{Re} +\renewcommand\Re\Repart +\renewcommand{\subset}{\subseteq} +\DeclareMathOperator{\Ob}{Ob} + + +%%Stochastic (Algorithmische Mathematik II) +\DeclareMathOperator\Bin{Bin} +\DeclareMathOperator\Ber{Ber} +\DeclareMathOperator\Geo{Geo} +\DeclareMathOperator\Poi{Poi} + + +%Synonyms for operators +\newcommand{\tensor}{\otimes} +% Nice command for | in set description (must be between \left and \right ) +\newcommand{\cat}[1]{ \mathscr{#1} } diff --git a/sheet.cls b/sheet.cls new file mode 100644 index 0000000..a6a346c --- /dev/null +++ b/sheet.cls @@ -0,0 +1,77 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{sheet}[2021/03/31 Exercise-Sheet-Class by Maximilian Kessler (private use)] + +\RequirePackage{scrbase} + +\newif\iflargename\largenamefalse +\DeclareOption{large-name}{\largenametrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} +\ProcessOptions\relax + +\LoadClass{scrartcl} + +\KOMAoption{fontsize}{12pt} +\KOMAoption{parskip}{half-} +\KOMAoption{DIV}{12} +\KOMAoption{headings}{normal} + +\RequirePackage{mymath} +\RequirePackage{scrlayer-scrpage} +\RequirePackage{subfig} +\RequirePackage[shortlabels]{enumitem} +%\RequirePackage[hidelinks]{hyperref} +\RequirePackage{graphicx} +\RequirePackage{ifplatform} +\graphicspath{{./out/graphics/}} + +\KOMAoption{headsepline}{:} + +\AtBeginDocument{\maketitle} + +\def\@course{}% +\DeclareRobustCommand*{\course}[1]{\gdef\@course{#1}} +\def\@sheetnumber{}% +\DeclareRobustCommand*{\sheetnumber}[1]{\gdef\@sheetnumber{\ifenglish Sheet #1 \else Übungsblatt #1\fi}} + +\renewcommand*{\@date}{\today} + +\renewcommand*{\maketitle}{ + \thispagestyle{plain} + {\makebox[0pt][l]{\usekomafont{myauthor}\@author}\hfill\makebox[0pt][r]{\usekomafont{date}\@date}\par} + \vspace{0.5em} + {\centering\usekomafont{title}\@course\par} + {\centering\usekomafont{subtitle}\@sheetnumber \par} + \vspace{2em} + \hrule + \addvspace{2em} +} + +\setkomafont{title}{\LARGE\bfseries} +\setkomafont{subtitle}{} +\newkomafont{myauthor}{} +\setkomafont{date}{} +\newkomafont{headtitle}{\itshape} +\setkomafont{pageheadfoot}{\footnotesize} +\setkomafont{descriptionlabel}{\bfseries} +\setkomafont{pagenumber}{\normalsize} + +\pagestyle{scrheadings} +\ihead[]{\iflargename \usekomafont{myauthor}\@author \\ \@course\;- \@sheetnumber\else \usekomafont{myauthor}\@author\fi } +\chead[]{\iflargename \else \usekomafont{subtitle}\@course\;- \@sheetnumber\fi} +\ohead[]{\usekomafont{date}\@date} + +\allowdisplaybreaks[1] + +% Page layout +\setlength{\parindent}{0pt} + +\RequirePackage{geometry} +\geometry{a4paper, left=2cm, right=2cm, top=3cm-15pt, bottom=3cm-15pt, head=15.0pt, headsep=10pt} + +\setlength{\skip\footins}{15pt} + +\setlength{\abovecaptionskip}{0cm} +\setlength{\belowcaptionskip}{0cm} + +%Für Zeilenabstand 1,5 +\RequirePackage[onehalfspacing]{setspace}