add uebungen latex scaffolding

This commit is contained in:
2025-11-18 02:09:44 +01:00
parent a2bc018235
commit a81c7fceb6
8 changed files with 344 additions and 1 deletions

142
docs/uebungen/uebung.cls Normal file
View File

@@ -0,0 +1,142 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{uebung}[Sem3 Web Engineering Exercise Sheet Class]
% Base class with options
\LoadClass[11pt,a4paper]{article}
% Required packages
\RequirePackage[german]{babel}
\RequirePackage{geometry}
\RequirePackage{fancyhdr}
\RequirePackage{titlesec}
\RequirePackage{enumitem}
\RequirePackage{listings}
\RequirePackage{xcolor}
\RequirePackage{graphicx}
\RequirePackage{amsmath}
\RequirePackage{hyperref}
% Define chapter counter for exercise sheets
\newcounter{chapter}
\renewcommand{\thechapter}{\arabic{chapter}}
% Page geometry
\geometry{a4paper, left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm}
% Colors for code listings
\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}
% Code listing style
\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,
frame=single,
framesep=5pt
}
\lstset{style=mystyle}
% Header and footer setup
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\textbf{Übung Web-Engineering}}
\fancyhead[R]{\textbf{Aufgabenblatt zu Kapitel \thechapter}}
\fancyfoot[C]{\thepage}
% Title format
\renewcommand{\maketitle}{
\begin{center}
\LARGE\textbf{Übung Web-Engineering}\\
\Large\textbf{Aufgabenblatt zu Kapitel \thechapter}
\vspace{1cm}
\large\textbf{Aufgaben \@author}
\end{center}
\vspace{0.5cm}
}
% Section formatting
\titleformat{\section}
{\large\bfseries}
{}
{0em}
{}
[\titlerule]
% Exercise item formatting
\newlist{exercises}{enumerate}{1}
\setlist[exercises]{
label=\arabic*),
leftmargin=*,
itemsep=1em,
before=\vspace{1.0cm}
}
% Java code environment
\lstnewenvironment{javaCode}[1][]
{\lstset{style=mystyle, language=Java, #1}}
{}
% JSP/HTML code environment
\lstnewenvironment{htmlCode}[1][]
{\lstset{style=mystyle, language=HTML, #1}}
{}
% XML code environment
\lstnewenvironment{xmlCode}[1][]
{\lstset{style=mystyle, language=XML, #1}}
{}
% Subsection for code examples
\newcommand{\codeexample}[1]{
\vspace{0.5em}
\noindent\textbf{Beispiel:}
\vspace{0.3em}
#1
}
% Environment for multi-page content
\newenvironment{multipagecontent}
{\par\vspace{1em}}
{\par\vspace{1em}}
% Command for page breaks with continuation marker
\newcommand{\continuepage}{
\vfill
\centerline{\textit{Fortsetzung auf nächster Seite...}}
\newpage
\centerline{\textit{Fortsetzung von vorheriger Seite...}}
\vspace{1em}
}
% Hyperref setup
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
pdftitle={Web Engineering Übungen},
pdfauthor={Linus Nagel}
}
% Chapter command for exercise sheets
\newcommand{\chapter}[1]{\setcounter{chapter}{#1}}
\endinput