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

2
docs/uebungen/.latexmkrc Normal file
View File

@@ -0,0 +1,2 @@
$out_dir = "out";
$pdf_mode = 4; # lualatex

View File

@@ -0,0 +1,20 @@
\documentclass{uebung}
\author{Linus Nagel}
\chapter{5}
\begin{document}
\maketitle
\begin{exercises}
\item Worum handelt es sich bei Facelets und welche Vorteile bietet die Verwendung von Facelets?
\item Wie können Templates mit Facelets erstellt bzw. verwendet werden?
\item Worum handelt es sich bei PrimeFaces?
\item Welcher Namespace wird für die Verwendung von PrimeFaces benutzt?
\item Wie kann per Ajax auf die Eingabe eines Tastenklicks reagiert werden?
\item Zählen Sie vier PrimeFaces-Komponenten auf und geben deren Funktion an.
\item Erstellen Sie eine JSF-Seite, die eine Klappliste anzeigt in der einer der Werte „Farben“, „Zahlen“ oder „Buchstaben“ ausgewählt werden kann. Darunter befindet sich eine Klappliste die zunächst nur den Inhalt „---“ hat. Nach einer Auswahl in der ersten Klappliste soll ein AJAX-Request generiert werden, der den Inhalt der zweiten Klappliste setzt (denken Sie sich zu den in Klappliste 1 auswählbaren Werten passende Werte aus).
\end{exercises}
\end{document}

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