Files
itc.webengineering/docs/uebungen/uebung.cls
2025-11-18 02:09:44 +01:00

143 lines
3.2 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
\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