\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{seriousgames-seminar}[2026/01/24 v1.0 Seminararbeit class]

% Basisklarticle
\LoadClass[12pt, a4paper]{article}

% Pakete
\RequirePackage[ngerman]{babel}
\RequirePackage{fontspec}
\RequirePackage{geometry}
\RequirePackage{fancyhdr}
\RequirePackage{titlesec}
\RequirePackage{graphicx}
\RequirePackage{xcolor}
\RequirePackage{minted}
\RequirePackage{listings}
\RequirePackage{hyperref}
\RequirePackage{amsmath}
\RequirePackage{booktabs}
\RequirePackage{tabularx}
\RequirePackage{enumitem}
\RequirePackage{makecell}
\RequirePackage{appendix}
\RequirePackage[backend=biber,style=ieee]{biblatex}
\RequirePackage{csquotes}
\RequirePackage{caption}

% Schriftarten einstellen (nur mit LuaLaTeX oder XeLaTeX kompilieren!)
\setmainfont{IBM Plex Serif}
\setsansfont{IBM Plex Sans}
\setmonofont{Cartograph CF Nerd Font}

% Seitenränder
\geometry{left=2cm, right=2cm, top=2cm, bottom=2cm}

% Kopf- und Fußzeile
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0.4pt}

% Überschriftenformatierung
\titleformat{\section}
  {\normalfont\Large\bfseries}{\thesection}{1em}{}
\titleformat{\subsection}
  {\normalfont\large\bfseries}{\thesubsection}{1em}{}
\titleformat{\subsubsection}
  {\normalfont\normalsize\bfseries}{\thesubsubsection}{1em}{}

% Minted-Einstellungen
\setminted{
    fontsize=\small,
    breaklines=true,
    frame=single,
    numbers=left,
    numbersep=5pt,
    baselinestretch=1.2,
    bgcolor=gray!10
}

\setminted[json]{
    fontsize=\small
}

\setminted[python]{
    fontsize=\small
}

% Listing-Formatierung
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}

\lstdefinestyle{mystyle}{
    backgroundcolor=\color{backcolour},
    commentstyle=\color{codegreen},
    keywordstyle=\color{magenta},
    numberstyle=\tiny\color{codegray},
    stringstyle=\color{codepurple},
    basicstyle=\ttfamily\footnotesize,
    breakatwhitespace=false,
    breaklines=true,
    captionpos=b,
    keepspaces=true,
    numbers=left,
    numbersep=5pt,
    showspaces=false,
    showstringspaces=false,
    showtabs=false,
    tabsize=2
}

\lstset{style=mystyle}

% Platzhalter für Abbildungen und Tabellen
\newcommand{\platzhalter}[2]{
  \begin{center}
    \fbox{\parbox{0.8\textwidth}{
      \centering
      \textbf{[Platzhalter: #1]}\\
      #2
    }}
  \end{center}
}

% Hyperlink-Einstellungen
\hypersetup{
    colorlinks=true,
    linkcolor=blue,
    filecolor=magenta,
    urlcolor=cyan,
    pdftitle={Telemetrie in Serious Games: Möglichkeiten, Herausforderungen, Architektur- und Evaluationsansätze},
    pdfauthor={Max Mustermann},
    pdfsubject={Serious Games, Telemetrie, Learning Analytics},
    pdfkeywords={Serious Games, Telemetrie, xAPI, Learning Analytics, Datenschutz, Dashboard}
}
