summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/uhhassignment
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-24 21:27:23 +0000
committerKarl Berry <karl@freefriends.org>2017-04-24 21:27:23 +0000
commit2236aa997752da2d5e58d66c85b42e6a0ad8a108 (patch)
treeaf7f9be9187cc62740f65c851ae0c0fa310c787c /Master/texmf-dist/tex/latex/uhhassignment
parentfe0ddcf4452f6ecaf83694dc95503a8014390a22 (diff)
uhhassignment (24apr17)
git-svn-id: svn://tug.org/texlive/trunk@44026 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/uhhassignment')
-rw-r--r--Master/texmf-dist/tex/latex/uhhassignment/uhhassignment.cls374
1 files changed, 374 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/uhhassignment/uhhassignment.cls b/Master/texmf-dist/tex/latex/uhhassignment/uhhassignment.cls
new file mode 100644
index 00000000000..09801e1d631
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/uhhassignment/uhhassignment.cls
@@ -0,0 +1,374 @@
+%%
+%% This is file `uhhassignment.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% uhhassignment.dtx (with options: `class')
+%%
+%% Copyright (C) 2017 by Kim Wittenburg
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+
+\NeedsTeXFormat{LaTeX2e}[2005/12/01]
+\ProvidesClass{uhhassignment}[2017/04/22 v1.0 The UHH-Assignment Class]
+
+
+
+\newif\ifuhhassignment@numberedsheets
+\DeclareOption{unnumberedsheets}{
+ \uhhassignment@numberedsheetsfalse
+}
+
+\DeclareOption{numberedsheets}{
+ \uhhassignment@numberedsheetstrue
+}
+
+\newif\ifuhhassignment@repeatauthor
+\uhhassignment@repeatauthorfalse
+\DeclareOption{repeatauthor}{
+ \uhhassignment@repeatauthortrue
+}
+
+\newif\ifuhhassignment@shorttitle
+\DeclareOption{shorttitle}{
+ \uhhassignment@shorttitletrue
+}
+
+\DeclareOption{longtitle}{
+ \uhhassignment@shorttitlefalse
+}
+
+\newif\ifuhhassignment@shortheader
+\DeclareOption{shortheader}{
+ \uhhassignment@shortheadertrue
+}
+
+\DeclareOption{longheader}{
+ \uhhassignment@shortheaderfalse
+}
+
+\ExecuteOptions{longtitle,longheader,numberedsheets}
+
+\ProcessOptions\relax
+\LoadClassWithOptions{scrartcl}
+
+%%%%%%%% Dependencies %%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%\fi
+
+\RequirePackage[utf8]{inputenc} % UTF-8 Encoding
+\RequirePackage{cmap} % Special Characters
+\RequirePackage[T1]{fontenc} % Font Encoding
+\RequirePackage[ngerman]{babel} % German Language
+\RequirePackage{etoolbox} % Programming
+\RequirePackage{calc} % Calculations
+
+\RequirePackage[a4paper,
+ left=25mm,
+ right=25mm,
+ top=20mm,
+ bottom=50mm]{geometry} % Page Margins
+
+\RequirePackage[headsepline]{scrlayer-scrpage} % Header and Footer
+\RequirePackage{lastpage} % Page Numbers
+
+\RequirePackage{amsmath} % Maths
+\RequirePackage{amssymb} % Maths
+\RequirePackage{amsthm} % Beweise
+\RequirePackage{enumitem} % Customizable Enumerations
+
+\RequirePackage{xcolor} % Colors
+\RequirePackage{framed} % Colored Boxes
+\RequirePackage[colorlinks,linkcolor=black]{hyperref} % References
+\RequirePackage{lmodern} % Better Font
+
+%%%%%%%%%% Constants %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%\fi
+
+
+\def\uhhassignment@sheetid{Aufgabenblatt}
+\def\uhhassignment@groupid{Übungsgruppe}
+
+%%%%%%% Custom Commands %%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%\fi
+
+\newcommand{\university}[2][]{
+ \ifstrempty{#1}{
+ \gdef\@shortuniversity{#2}
+ }{
+ \gdef\@shortuniversity{#1}
+ }
+ \gdef\@university{#2}
+}
+
+\newcommand{\course}[2][]{
+ \ifstrempty{#1}{
+ \gdef\@shortcourse{#2}
+ }{
+ \gdef\@shortcourse{#1}
+ }
+ \gdef\@course{#2}
+}
+
+\newcommand{\teacher}[1]{
+ \gdef\@teacher{#1}
+}
+
+\newcommand{\group}[1]{
+ \gdef\@group{#1}
+}
+
+\newcommand{\sheetno}[1]{
+ \gdef\@sheetno{#1}
+}
+
+\newcommand{\id}[1]{\\\ttfamily\footnotesize(#1)}
+
+\renewcommand{\author}[2][]{
+ \ifstrempty{#1}{
+ \gdef\@shortauthor{#2}
+ }{
+ \gdef\@shortauthor{#1}
+ }
+ \gdef\@author{#2}
+}
+
+\university[Uni Hamburg]{Universität Hamburg}
+\def\@course{
+ \ClassWarning{uhhassignment}{No \protect\course\space given}
+}
+\let\@shortcourse\@course
+\group{}
+\def\@teacher{
+ \ClassWarning{uhhassignment}{No \protect\teacher\space given}
+}
+\let\@shortteacher\@teacher
+\def\@sheetno{
+ \ClassWarning{uhhassignment}{No \protect\sheetno\space given}
+}
+\def\@shortauthor{
+ \ClassWarning{uhhassignment}{No short \protect\author\space given}
+}
+\title{}
+
+
+
+\newcommand{\todomark}{%
+ \colorbox{purple}{%
+ \textnormal\ttfamily\bfseries\color{white}%
+ TODO%
+ }%
+}
+
+\newcommand{\todo}[1][]{%
+ \ifstrempty{#1}{%
+ \def\todotext{Todo}%
+ }{%
+ \def\todotext{Todo: #1}%
+ }%
+ \todomark%
+ {%
+ \marginpar{%
+ \raggedright\normalfont\sffamily\scriptsize\todotext%
+ }%
+ }%
+}
+
+
+\setcounter{secnumdepth}{0}
+
+\newcounter{task}
+\newcommand{\task}[2][]{%
+ \ifstrempty{#1}{%
+ \stepcounter{task}%
+ }{%
+ \setcounter{task}{#1}%
+ }%
+ \ifstrempty{#2}{%
+ \section{Aufgabe \arabic{task}}%
+ }{%
+ \section{Aufgabe \arabic{task}: #2}%
+ }%
+}
+
+\newcounter{subtask}[task]
+\newcommand{\subtask}[2][]{%
+ \ifstrempty{#1}{%
+ \stepcounter{subtask}%
+ }{%
+ \setcounter{subtask}{#1}%
+ }%
+ \ifstrempty{#2}{%
+ \subsection{Teilaufgabe \arabic{task}.\arabic{subtask}}%
+ }{%
+ \subsection{\arabic{task}.\arabic{subtask}. #2}%
+ }%
+}
+
+\newcounter{subsubtask}[subtask]
+\newcommand{\subsubtask}[2][]{%
+ \ifstrempty{#1}{%
+ \stepcounter{subsubtask}%
+ }{%
+ \setcounter{subsubtask}{#1}%
+ }%
+ \ifstrempty{#2}{%
+ \subsection{\arabic{task}.\arabic{subtask}.\arabic{subsubtask}}
+ }{%
+ \subsubsection{\arabic{task}.\arabic{subtask}.\arabic{subsubtask}. #2}%
+ }%
+}
+
+%%%%%%%%% Page Setup %%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%\fi
+
+
+\setlength{\headheight}{50pt}
+\pagestyle{scrheadings}
+\clearpairofpagestyles
+
+\ifuhhassignment@shortheader
+ \ifuhhassignment@numberedsheets
+ \ihead{\textbf{\@shortcourse}\\\uhhassignment@sheetid{} \@sheetno}
+ \else
+ \ihead{\textbf{\@shortcourse}}
+ \fi
+ \ohead{\textbf{\@shortuniversity}\\\@date}
+\else
+ \ifuhhassignment@numberedsheets
+ \ihead{\textbf{\@course}\\\uhhassignment@sheetid{} \@sheetno}
+ \else
+ \ihead{\textbf{\@course}}
+ \fi
+ \ohead{\textbf{\@university}\\\@date}
+\fi
+
+\setkomafont{pagefoot}{\textnormal}
+\ifuhhassignment@repeatauthor
+ \ifoot[\@shortauthor]{\@shortauthor}
+ \ofoot[Seite \pagemark{} von \pageref{LastPage}]{Seite \pagemark{} von \pageref{LastPage}}
+\else
+ \cfoot[Seite \pagemark{} von \pageref{LastPage}]{Seite \pagemark{} von \pageref{LastPage}}
+\fi
+
+\newpagestyle{firstpage}[]{%
+ \ihead{}
+ \cfoot{\pagemark{}}
+}
+
+%%%%%%%%%%% Layout %%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%\fi
+
+
+\setlength{\parskip}{5pt}
+
+\setkomafont{section}{\normalfont\bfseries\LARGE}
+\setkomafont{subsection}{\normalfont\bfseries\Large}
+\setkomafont{subsubsection}{\normalfont\bfseries\large}
+\RedeclareSectionCommands[afterskip=.25\baselineskip]{section}
+\RedeclareSectionCommands[
+ beforeskip=0.5\baselineskip,
+ afterskip=.125\baselineskip]{subsection}
+
+\renewcommand*{\maketitle}{%
+ \thispagestyle{plain}%
+
+ \newif\ifextended
+ \extendedtrue
+
+ \ifuhhassignment@shorttitle
+ \let\university\@shortuniversity
+ \let\course\@shortcourse
+ \else
+ \let\university\@university
+ \let\course\@course
+ \fi
+
+ \ifdefempty{\@title}{%
+ \ifdefempty{\@group}{%
+ \def\metaleft{\@teacher}%
+ \def\metaright{\@date}%
+ \def\titleright{}%
+ \extendedfalse
+ }{%
+ \def\metaleft{\uhhassignment@sheetid{} \@group}%
+ \def\metaright{\@teacher}%
+ \def\titleright{\@date}%
+ }%
+ \def\titleleft{}%
+ \ifuhhassignment@numberedsheets
+ \def\title{\uhhassignment@sheetid{} \@sheetno}%
+ \else
+ % Title remains user-specified
+ \fi
+ }{%
+ \ifdefempty{\@group}{%
+ \def\metaleft{}%
+ \def\metaright{\@teacher}%
+ }{%
+ \def\metaleft{\uhhassignment@groupid{} \@group}%
+ \def\metaright{\@teacher}%
+ }%
+ \ifuhhassignment@numberedsheets
+ \def\titleleft{\uhhassignment@sheetid{} \@sheetno}%
+ \else
+ \def\titleleft{}
+ \fi
+ \def\titleright{\@date}%
+ \def\title{\@title}%
+ }%
+
+
+ \begingroup% Heading Group
+ \usekomafont{pageheadfoot}%
+ \usekomafont{pagehead}%
+ \setlength{\parskip}{0pt}%
+
+ \textbf{\course} \hfill \textbf{\university}\par%
+
+ \begin{minipage}[t]{\widthof{\metaleft}}%
+ \metaleft%
+ \end{minipage}%
+ \hfill%
+ \begin{minipage}[t]{\widthof{\metaright}}%
+ \raggedleft%
+ \metaright%
+ \end{minipage}%
+ \endgroup%
+
+ \ifextended%
+ \vspace{\baselineskip}%
+ \fi%
+
+ \begingroup% Secondary Title Groupt
+ \Large\bfseries\titleleft\hfill\titleright%
+ \endgroup%
+
+ \begingroup% Title Group
+ \begin{center}%
+ \Huge\textsc{\title}%
+ \end{center}%
+ \endgroup%
+
+ \begingroup% Author Group
+ \setlength{\baselineskip}{2.75\baselineskip}%
+ \vspace{-\baselineskip}%
+ \begin{center}%
+ \begin{tabular}[t]{c}%
+ \@author%
+ \end{tabular}%
+ \end{center}%
+ \endgroup%
+}
+
+\endinput
+%%
+%% End of file `uhhassignment.cls'.