%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Copyright © 2022 Maximilian Keßler % % This work may be distributed and/or modified % % 1. under the LaTeX Project Public License and/or % 2. under the GNU General Public License % % Distribution under conditions of the LaTeX Project Public License, % requires 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. % % This work has the LPPL maintenance status \`maintained'. % % The Current Maintainer of this work is Maximilian Keßler. % % % Distribution under the GNU General Public License requires either % version 3 or (at your opinion) any later version. % % This class has been generated by PyTeX, available at % https://github.com/kesslermaximilian/PyTeX % and built from source file 'sheet.pycls'. % It is STRONGLY DISCOURAGED to edit this source file directly, since local % changes will not be versioned by Git and overwritten by the next build. Always % edit the source file and build the class again. % % Build details: % PyTeX version: v1.2.0-31-gc9bb0e8 (commit c9bb0e8) % Source code version: v2.8.1-18-g48651b4 (commit 48651b4) % % This LaTeX class is free software and is dual-licensed % under the LPPLv1.3c and the GPLv3 licenses. % You may use it freely for your purposes. % The latest version of the class sources can be obtained % via GitLab under % https://gitlab.com/latexci/packages/LatexPackages % The latest version of the built packages can be obtained via GitLab under % https://gitlab.com/latexci/packages/LatexPackagesBuild % For further information see the urls above. % Reportings of bugs, suggestions and improvements are welcome, see the README % at the Git repository for further information. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesClass{mkessler-sheet}[2022/01/31 - Write up university exercise sheets] % This is meant as a layouting class for easily writing up exercise sheets. % Use \course \sheetnumber and \author to set metadata of the document % Use option [largename] if the author(s) is/are too long and collide in the fancy header % Use option [german|ngerman|english] to control language appearance \RequirePackage{scrbase} \newif\ifmkessler@sheet@english\mkessler@sheet@englishtrue \DeclareOption{german}{\mkessler@sheet@englishfalse} \DeclareOption{ngerman}{\mkessler@sheet@englishfalse} \DeclareOption{english}{\mkessler@sheet@englishtrue} \newif\ifmkessler@sheet@largename\mkessler@sheet@largenamefalse \DeclareOption{large-name}{\mkessler@sheet@largenametrue} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} \ProcessOptions\relax \LoadClass{scrartcl} \KOMAoption{fontsize}{12pt} \KOMAoption{parskip}{half-} \KOMAoption{DIV}{12} \KOMAoption{headings}{normal} \RequirePackage{scrlayer-scrpage} \KOMAoption{headsepline}{:} \def\@course{\ClassError{mkessler-sheet}{No \noexpand\course given}{Use \noexpand\course{} to set the course.}}% \DeclareRobustCommand*{\course}[1]{\gdef\@course{#1}} \def\@sheetnumber{\ClassError{mkessler-sheet}{No \noexpand\sheetnumber given}{Use \noexpand\sheetnumber{} to set the current sheetnumber.}}% \DeclareRobustCommand*{\sheetnumber}[1]{\gdef\@sheetnumber{\ifmkessler@sheet@english Sheet #1 \else Übungsblatt #1\fi}} \renewcommand*{\@date}{\today} \renewcommand*{\maketitle}{ \thispagestyle{plain} {\makebox[0pt][l]{\usekomafont{myauthor}\@author}\hfill\makebox[0pt][r]{\usekomafont{date}\@date}\par} \vspace{0.5em} {\centering\usekomafont{title}\@course\par} {\centering\usekomafont{subtitle}\@sheetnumber \par} \vspace{2em} \hrule \addvspace{2em} } \setkomafont{title}{\LARGE\bfseries} \setkomafont{subtitle}{} \newkomafont{myauthor}{} \setkomafont{date}{} \newkomafont{headtitle}{\itshape} \setkomafont{pageheadfoot}{\footnotesize} \setkomafont{descriptionlabel}{\bfseries} \setkomafont{pagenumber}{\normalsize} \pagestyle{scrheadings} \ihead[]{\ifmkessler@sheet@largename \usekomafont{myauthor}\@author \\ \@course\;- \@sheetnumber\else \usekomafont{myauthor}\@author\fi } \chead[]{\ifmkessler@sheet@largename \else \usekomafont{subtitle}\@course\;- \@sheetnumber\fi} \ohead[]{\usekomafont{date}\@date} % Page layout \setlength{\parindent}{0pt} \RequirePackage[a4paper, left=2cm, right=2cm, top=3cm, bottom=3cm, head=15.0pt, headsep=10pt]{geometry} \setlength{\skip\footins}{15pt} \setlength{\abovecaptionskip}{0cm} \setlength{\belowcaptionskip}{0cm} %Für Zeilenabstand 1,5 \RequirePackage[onehalfspacing]{setspace} \RequirePackage[super]{nth} \newcommand\nr[1]{ \section*{\ifmkessler@sheet@english\nth{#1} exercise\else #1. Aufgabe\fi} \setcounter{equation}{0} }