Projektaufgabe
This commit is contained in:
parent
0badca0492
commit
3b8db7c416
1 changed files with 162 additions and 0 deletions
162
Ausarbeitung/aspdoc.cls
Normal file
162
Ausarbeitung/aspdoc.cls
Normal file
|
@ -0,0 +1,162 @@
|
|||
% aspdoc.cls
|
||||
% Written by Alexis Engelke in 10/2018
|
||||
% Copyright (c) TUM I10 2018. All rights reserved.
|
||||
|
||||
% Options:
|
||||
% - course: erap, asp, [rasp]
|
||||
% For course=rasp/asp/erap \ifasp is defined.
|
||||
% - tasksheet
|
||||
% Defines solution environment, defines \theSheetNumber
|
||||
% - project
|
||||
% Enhances content of header, defines \theTaskNumber and \theName
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesClass{aspdoc}[2021/10/05 ASPDOC document class v0.5]
|
||||
|
||||
\LoadClass[11pt]{scrartcl}
|
||||
|
||||
\RequirePackage{kvoptions}
|
||||
\RequirePackage[utf8]{inputenc}
|
||||
\RequirePackage[T1]{fontenc}
|
||||
\RequirePackage[ngerman]{babel} % TODO: Make this an option
|
||||
\RequirePackage[babel,german=quotes]{csquotes}
|
||||
\RequirePackage{amsmath}
|
||||
\RequirePackage{graphicx}
|
||||
\RequirePackage{color}
|
||||
\RequirePackage{listings}
|
||||
\RequirePackage{booktabs}
|
||||
\RequirePackage{float}
|
||||
\RequirePackage{microtype}
|
||||
\RequirePackage{tikz}
|
||||
\RequirePackage{tabularx}
|
||||
\RequirePackage{hyperref}
|
||||
\RequirePackage{xstring}
|
||||
\RequirePackage[headsepline,footsepline,plainfootsepline,markcase=upper]{scrlayer-scrpage}
|
||||
|
||||
\usetikzlibrary{shapes,positioning}
|
||||
|
||||
\SetupKeyvalOptions{
|
||||
family=aspdoc,
|
||||
prefix=aspdoc@
|
||||
}
|
||||
|
||||
% Fonts
|
||||
\setkomafont{dictum}{\normalfont\normalcolor\rmfamily\small}
|
||||
\renewcommand{\rmdefault}{ppl}
|
||||
\newcommand{\tttilde}{\raise.17ex\hbox{$\scriptstyle\mathtt{\sim}$}}
|
||||
|
||||
\definecolor{dkgreen}{rgb}{0,0.6,0}
|
||||
\definecolor{gray}{rgb}{0.5,0.5,0.5}
|
||||
\definecolor{mauve}{rgb}{0.58,0,0.82}
|
||||
|
||||
\newcommand{\@maintitle}{\large\@title \\ \@date}
|
||||
\newcommand{\@headertitle}{\@title}
|
||||
|
||||
\newif\if@solution
|
||||
|
||||
\DeclareVoidOption{tasksheet}{
|
||||
\IfSubStr{\jobname}{\detokenize{Lsg}}{
|
||||
\@solutiontrue
|
||||
\StrBetween*[2,3]{\jobname}{\detokenize{_}}{\detokenize{_}}[\sheetNumberRaw]
|
||||
}{
|
||||
\StrBehind*[2]{\jobname}{\detokenize{_}}[\sheetNumberRaw]
|
||||
}
|
||||
% Remove a single leading zero
|
||||
\IfBeginWith{\sheetNumberRaw}{0}{%
|
||||
\StrGobbleLeft{\sheetNumberRaw}{1}[\theSheetNumber]%
|
||||
}{%
|
||||
\global\let\theSheetNumber\sheetNumberRaw%
|
||||
}
|
||||
%
|
||||
\newcommand{\secprefix}[1]{\setcounter{section}{0}\def\thesection{##1\theSheetNumber.\arabic{section}}\renewcommand*{\theHsection}{ch##1.\the\value{section}}}
|
||||
%
|
||||
\title{Arbeitsblatt \theSheetNumber}
|
||||
\renewcommand{\@headertitle}{Blatt \theSheetNumber}
|
||||
}
|
||||
\DeclareVoidOption{project}{
|
||||
\StrGobbleLeft{\jobname}{5}[\theTaskNumber]
|
||||
\renewcommand{\@maintitle}{\large\@title {} (A\theTaskNumber)\\ Projektaufgabe -- Aufgabenbereich \@subtitle}
|
||||
\renewcommand{\@headertitle}{Projektaufgabe A\theTaskNumber}
|
||||
\newcommand{\theName}{\@title}
|
||||
}
|
||||
\DeclareStringOption{course}
|
||||
\ProcessKeyvalOptions*\relax
|
||||
|
||||
\IfEq{\aspdoc@course}{rasp}{\IfSubStr{\jobname}{\detokenize{ASP}}{\def\aspdoc@course{asp}}{\def\aspdoc@course{gra}}}{}
|
||||
\IfEqCase{\aspdoc@course}{%
|
||||
{asp}{\newif\ifasp\asptrue%
|
||||
\newcommand{\@courselong}{\vspace{-.2em}Aspekte der systemnahen Programmierung\\bei der Spieleentwicklung}%
|
||||
\newcommand{\@courseshort}{Praktikum ASP}
|
||||
\newcommand{\raspi}{\textit{Raspberry Pi 3}\,}
|
||||
\newcommand{\raspis}{\textit{Raspberry Pi 3}\,}
|
||||
\newcommand{\board}{\raspi}
|
||||
\newcommand{\boards}{\raspis}}%
|
||||
{erap}{\newif\ifasp\aspfalse%
|
||||
\newcommand{\@courselong}{Grundlagenpraktikum: Rechnerarchitektur}%
|
||||
\newcommand{\@courseshort}{Praktikum GRA}}%
|
||||
{gra}{\newif\ifasp\aspfalse%
|
||||
\newcommand{\@courselong}{Grundlagenpraktikum: Rechnerarchitektur}%
|
||||
\newcommand{\@courseshort}{Praktikum GRA}}%
|
||||
{eragp}{%
|
||||
\newcommand{\@courselong}{Großpraktikum Rechnerarchitektur}%
|
||||
\newcommand{\@courseshort}{Großpraktikum ERA}}%
|
||||
{erat}{%
|
||||
\newcommand{\@courselong}{Übungen zu Einführung in die Rechnerarchitektur}%
|
||||
\newcommand{\@courseshort}{Übung ERA}}%
|
||||
}[
|
||||
\newcommand{\@courselong}{\textit{Lehrveranstaltung}}
|
||||
\newcommand{\@courseshort}{\textit{Veranstaltung LV}}
|
||||
]
|
||||
|
||||
% Solution environment for task sheets
|
||||
\newenvironment{solution}{%
|
||||
\if@solution\itshape\bfseries\else\setbox\z@\vbox\bgroup\fi%
|
||||
}{%
|
||||
\if@solution\else\egroup\fi%
|
||||
}
|
||||
|
||||
\pagestyle{scrheadings}
|
||||
\clearscrheadfoot
|
||||
\ihead{\rmfamily\normalcolor \@courseshort{} -- \@headertitle\headmark}
|
||||
\if@solution\chead{\textbf{Lösung}}\fi
|
||||
\ohead{\pagemark}
|
||||
|
||||
\lstset{ %
|
||||
language=C,
|
||||
basicstyle=\upshape\footnotesize\ttfamily,
|
||||
numbers=left, % where to put the line-numbers
|
||||
numberstyle=\tiny\color{gray}, % the style that is used for the line-numbers
|
||||
numbersep=5pt, % how far the line-numbers are from the code
|
||||
showstringspaces=false,
|
||||
frame=single, % adds a frame around the code
|
||||
rulecolor=\color{black},
|
||||
tabsize=2, % sets default tabsize to 2 spaces
|
||||
captionpos=b, % sets the caption-position to bottom
|
||||
breaklines=true, % sets automatic line breaking
|
||||
breakatwhitespace=false, % sets if automatic breaks should only happen at whitespace
|
||||
title=\lstname, % show the filename of files included with \lstinputlisting;
|
||||
belowskip=-0.8 \baselineskip, % avoid blank line after listing
|
||||
% also try caption instead of title
|
||||
keywordstyle=\color{blue}, % keyword style
|
||||
commentstyle=\color{dkgreen}, % comment style
|
||||
stringstyle=\color{mauve}, % string literal style
|
||||
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
|
||||
literate={ö}{{\"o}}1
|
||||
{ä}{{\"a}}1
|
||||
{ü}{{\"u}}1
|
||||
{~}{{\tttilde}}1
|
||||
{:)}{{\rotatebox{270}{\hspace{-.5em}\rmfamily :)}}}2
|
||||
}
|
||||
|
||||
% Clear author macro so that we can check whether an author is set
|
||||
\def\@author{}
|
||||
\renewcommand{\maketitle}{
|
||||
\begin{center}
|
||||
\small\textsc{Lehrstuhl für Rechnerarchitektur und Parallele Systeme}\\[.4em]
|
||||
{\Large\bfseries\@courselong}\\[.7em]
|
||||
\begin{tabular}{c}\@maintitle\end{tabular}
|
||||
\ifdefempty{\@author}{}{\\[1em]\begin{tabular}{c}\@author\end{tabular}}
|
||||
\end{center}
|
||||
}
|
||||
|
||||
\endinput%
|
Loading…
Reference in a new issue