% Template.sty
% Version: 2021-12-20
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{amsmath, amsfonts, amssymb, amsthm, graphicx, tikz, float, pdfpages, enumerate, mathrsfs, thmtools}
\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm, headsep=1.2cm]{geometry}
%=========================================================
% Change font:
%\usepackage{times}
%=========================================================
% Footnotes:
%\setlength{\skip\footins}{10mm}
%\setlength{\footnotesep}{5mm} 
%\interfootnotelinepenalty=10000
%=========================================================
% Parskip and parindent:
%\setlength{\parskip}{\bigskipamount}
%\setlength{\parindent}{0mm}
%=========================================================
% Header:
	%\usepackage[headsepline]{scrpage2}
	%\pagestyle{scrheadings}
	%\ihead{\Title}
%=========================================================
% Title, author and date:
%\title{\Title}
%\author{\Author}
%\date{\Date}
%=========================================================
% Create title page:
\newcommand{\maketitlepage}
{\begin{titlepage}
	\centering
	\vspace*{6cm}
	{\LARGE\@title\par}
	\vspace{2cm}
	{\Large\@author\par}
	\vfill
	{\large\@date\par}
	\vspace{3cm}
\end{titlepage}}
%=========================================================
% Abstract:
\usepackage{abstract}
%=========================================================
% Colors and links:
\usepackage{color}
\definecolor{blue}{rgb}{0,0,0.7}
\usepackage[colorlinks=false,urlcolor=blue]{hyperref}
%=========================================================
% Listings:
\usepackage{courier}
\usepackage{listings}
\lstset{basicstyle=\ttfamily\footnotesize, numbers=left, breaklines=false, showstringspaces=false}
%=========================================================
% Change the word "Proof" to small capitalized:
\renewenvironment{proof}{{\scshape \proofname.}}{\qed}
%=========================================================
% Theorems, Definitions etc.:
\newcommand{\theoremname}{\iflanguage{german}{Satz}{Theorem}}
\newcommand{\corollaryname}{\iflanguage{german}{Korollar}{Corollary}}
\newcommand{\examplename}{\iflanguage{german}{Beispiel}{Example}}
\newcommand{\problemname}{\iflanguage{german}{Aufgabe}{Problem}}
\newcommand{\solutionname}{\iflanguage{german}{Lösung}{Solution}}
\newcommand{\remarkname}{\iflanguage{german}{Bemerkung}{Remark}}

% Old theorem definitions without coloured boxes:
%\theoremstyle{plain}
%\newtheorem{theorem}{\theoremname}[section]
%\newtheorem*{theorem*}{\theoremname}
%\newtheorem{lemma}[theorem]{Lemma}
%\newtheorem*{lemma*}{Lemma}
%\newtheorem{proposition}[theorem]{Proposition}
%\newtheorem*{proposition*}{Proposition}
%\newtheorem{corollary}[theorem]{\corollaryname}
%\newtheorem*{corollary*}{\corollaryname}
%\theoremstyle{definition}
%\newtheorem{definition}[theorem]{Definition}
%\newtheorem*{definition*}{Definition}
%\newtheorem{example}[theorem]{\examplename}
%\newtheorem*{example*}{\examplename}
%\newtheorem{problem}[theorem]{\examplename}
%\newtheorem*{problem*}{\problemname}
%\newtheorem*{solution}{\solutionname}
%\newtheorem{remark}[theorem]{\remarkname}
%\newtheorem*{remark*}{\remarkname}

\declaretheoremstyle[
	shaded={bgcolor={HTML}{FFE6E6},rulecolor={HTML}{FF0000},rulewidth=0.5pt}
]{red}
\declaretheoremstyle[
	shaded={bgcolor={HTML}{E6E6FF},rulecolor={HTML}{0000FF},rulewidth=0.5pt},
    bodyfont=\itshape
]{blue}
\declaretheoremstyle[
	shaded={bgcolor={HTML}{FFF6DC},rulecolor={HTML}{FFBF00},rulewidth=0.5pt}
]{yellow}
\declaretheoremstyle[
	shaded={bgcolor={HTML}{E0FFE0},rulecolor={HTML}{00DD00},rulewidth=0.5pt}
]{green}
\declaretheorem[style=blue, name=\theoremname, numberwithin=section]{theorem}
\declaretheorem[style=blue, name=\theoremname, unnumbered]{theorem*}
\declaretheorem[style=blue, name=Lemma, sibling=theorem]{lemma}
\declaretheorem[style=blue, name=Lemma, unnumbered]{lemma*}
\declaretheorem[style=blue, name=Proposition, sibling=theorem]{proposition}
\declaretheorem[style=blue, name=Proposition, unnumbered]{proposition*}
\declaretheorem[style=blue, name=\corollaryname, sibling=theorem]{corollary}
\declaretheorem[style=blue, name=\corollaryname, unnumbered]{corollary*}
\declaretheorem[style=red, name=Definition, sibling=theorem]{definition}
\declaretheorem[style=red, name=Definition, unnumbered]{definition*}
\declaretheorem[style=definition, name=\examplename, sibling=theorem]{example}
\declaretheorem[style=definition, name=\examplename, unnumbered]{example*}
\declaretheorem[style=yellow, name=\problemname, sibling=theorem]{problem}
\declaretheorem[style=yellow, name=\problemname, unnumbered]{problem*}
\declaretheorem[name=\solutionname, unnumbered]{solution}
\declaretheorem[style=green, name=\remarkname, sibling=theorem]{remark}
\declaretheorem[style=green, name=\remarkname, unnumbered]{remark*}
%=========================================================
% Own commands:
\providecommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
\providecommand{\ceil}[1]{\left\lceil #1 \right\rceil}
%=========================================================
% Mathbb commands:
\def\N{\mathbb{N}}
\def\Nn{\mathbb{N}_0}
\def\Z{\mathbb{Z}}
\def\Zp{\mathbb{Z}^+}
\def\Zpn{\mathbb{Z}_0^+}
\def\Zm{\mathbb{Z}^-}
\def\Q{\mathbb{Q}}
\def\Qp{\mathbb{Q}^+}
\def\Qpn{\mathbb{Q}_0^+}
\def\Qm{\mathbb{Q}^-}
\def\R{\mathbb{R}}
\def\Rp{\mathbb{R}^+}
\def\Rpn{\mathbb{R}_0^+}
\def\Rm{\mathbb{R}^-}
\def\C{\mathbb{C}}
\def\D{\mathbb{D}}
\def\T{\mathbb{T}}
\def\F{\mathbb{F}}
\def\P{\mathbb{P}}
\def\E{\mathbb{E}}
\def\V{\mathbb{V}}
%=========================================================
% Other symbols:
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\lcm}{lcm}
\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\codim}{codim}
\DeclareMathOperator{\coker}{coker}
\DeclareMathOperator{\coim}{coim}
\DeclareMathOperator{\lc}{lc}
\DeclareMathOperator{\grad}{grad}
\DeclareMathOperator{\divg}{div}
\DeclareMathOperator{\rot}{rot}
\DeclareMathOperator{\curl}{curl}
\DeclareMathOperator{\arcsec}{arcsec}
\DeclareMathOperator{\arccsc}{arccsc}
\DeclareMathOperator{\arccot}{arccot}
\DeclareMathOperator{\sech}{sech}
\DeclareMathOperator{\csch}{csch}
\DeclareMathOperator{\arsinh}{arsinh}
\DeclareMathOperator{\arcosh}{arcosh}
\DeclareMathOperator{\artanh}{artanh}
\DeclareMathOperator{\arsech}{arsech}
\DeclareMathOperator{\arcsch}{arcsch}
\DeclareMathOperator{\arcoth}{arcoth}
\DeclareMathOperator{\Span}{span}
\DeclareMathOperator{\cl}{cl}
\DeclareMathOperator{\co}{co}
%=========================================================
\AtBeginDocument{\renewcommand\abstractname{Abstract}}