%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Copyright © 2022 Maximilian Keßler % % Permission is hereby granted, free of charge, to any person obtaining a copy % of this software and associated documentation files (the “Software”), to deal % in the Software without restriction, including without limitation the rights % to use, copy, modify, merge, publish, distribute, sublicense, and/or sell % copies of the Software, and to permit persons to whom the Software is % furnished to do so, subject to the following conditions: % The above copyright notice and this permission notice shall be included in all % copies or substantial portions of the Software. % % THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR % IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, % FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE % AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER % LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, % OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE % SOFTWARE. % % This class has been generated by PyTeX, available at % https://github.com/kesslermaximilian/PyTeX % and built from source file 'script.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-3-g5e077e7 (commit 5e077e7) % Source code version: v2.4.4-4-geb06eb8 (commit eb06eb8) % % This LaTeX class is free software and distributed under the MIT License. You % may use it freely for your purposes. The latest version of the class can be % obtained via GitHub under % https://github.com/kesslermaximilian/LatexPackages % For further information see the url above. % Reportings of bugs, suggestions and improvements are welcome, see the README % at the Git repository for further information. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \NeedsTeXFormat{LaTeX2e} \ProvidesClass{mkessler-script}[2022/01/30 - Write up lecture notes as script] \RequirePackage{xkeyval} \newif\ifmkessler@script@english\mkessler@script@englishtrue \DeclareOptionX{german}{\mkessler@script@englishfalse} \DeclareOptionX{ngerman}{\mkessler@script@englishfalse} \DeclareOptionX{english}{\mkessler@script@englishtrue} \newif\ifmkessler@script@showversion\mkessler@script@showversiontrue \DeclareOptionX{show version}{\mkessler@script@showversiontrue} \DeclareOptionX{hideversion}{\mkessler@script@showversionfalse} \newif\ifmkessler@script@fancyfoot\mkessler@script@fancyfootfalse \DeclareOptionX{fancyfoot}{\mkessler@script@fancyfoottrue} \newif\ifmkessler@script@gitversion\mkessler@script@gitversionfalse \DeclareOptionX{git}{\mkessler@script@gitversiontrue} \DeclareOptionX*{\ClassWarning{mkessler-script}{Unknown '\CurrentOption'}} \ProcessOptionsX*\relax \RequirePackage{xifthen} %%%%Define command to set metainformation of document %Set the course \def\@course{\ClassError{mkessler-script}{No \noexpand\course given}{See documentation for details}}% \DeclareRobustCommand*{\course}[1]{\gdef\@course{#1}} \def\@lecturer{\ClassError{mkessler-script}{No \noexpand\lecturer given}{See documentation for details}}% \def\@lecturertitle{} \DeclareRobustCommand*{\lecturer}[2][]{ \gdef\@lecturer{#2} \gdef\@lecturertitle{\ifmkessler@script@english Lecturer\else\ifthenelse{\isempty{#1}}{Dozent}{Dozentin}\fi}{} } %Set the assistant \newif\ifmkessler@script@printassistant\mkessler@script@printassistantfalse \def\@assistant{}% \def\@assistantitle{} \DeclareRobustCommand*{\assistant}[2][]{ \mkessler@script@printassistanttrue \gdef\@assistant{#2} \gdef\@assistanttitle{\ifmkessler@script@english Assistant\else\ifthenelse{\isempty{#1}}{Assistent}{Assistentin}\fi} } %%%%Load base class article \LoadClass{article} \ifmkessler@script@showversion \ifmkessler@script@gitversion \RequirePackage[dirty={ (local changes have been made!)}]{gitinfo2} \fi \fi %%%%Title %Define layout of title using course, lecturer, assistant and author, and optionally the current time \RequirePackage{xparse} \RequirePackage{datetime} \renewcommand\@maketitle{% \newpage \null \vskip 2em% \begin{center}% \let \footnote \thanks {\LARGE \@course \par}% \vskip 1.5em% {\large \lineskip .5em% \begin{tabular}[t]{c}% \@lecturertitle \\ {\sc \@lecturer} \\ \end{tabular}\par \ifmkessler@script@printassistant \vskip 1em% \begin{tabular}[t]{c}% \@assistanttitle \\ {\sc \@assistant} \\ \end{tabular}\par \fi \vskip 1em% \begin{tabular}[t]{c}% \ifmkessler@script@english Notes\else Mitschrift\fi \\ {\sc \@author} \\ \end{tabular} \par}% \ifmkessler@script@showversion \vskip 3em% \begin{tabular}[t]{c}% {\small Version} \\ \ifmkessler@script@gitversion git: \gitFirstTagDescribe\\ \ifmkessler@script@english compiled\else kompiliert\fi: \fi\today\,\currenttime \\ \end{tabular}\par \fi \vskip 4em% \end{center}% \par \vskip 1.5em } %%%The following is based on the repository % https://github.com/gillescastel/university-setup % but has been modified for own purposes. The original content is distributed under the following license: %MIT License %Copyright (c) 2019 Gilles Castel %Permission is hereby granted, free of charge, to any person obtaining a copy %of this software and associated documentation files (the "Software"), to deal %in the Software without restriction, including without limitation the rights %to use, copy, modify, merge, publish, distribute, sublicense, and/or sell %copies of the Software, and to permit persons to whom the Software is %furnished to do so, subject to the following conditions: % %The above copyright notice and this permission notice shall be included in all %copies or substantial portions of the Software. % %THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR %IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, %FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE %AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER %LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, %OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE %SOFTWARE. %%%% These are the fancy headers \ifmkessler@script@fancyfoot \RequirePackage{fancyhdr} \pagestyle{fancy} % LE: left even % RO: right odd % CE, CO: center even, center odd \fancyhead[RO,LE]{} % Right odd, Left even \fancyhead[RE,LO]{} % Right even, Left odd \fancyfoot[RO,LE]{\thepage} % Right odd, Left even \fancyfoot[RE,LO]{} % Right even, Left odd \fancyfoot[C]{\leftmark} % Center \makeatother \fi % Fix some stuff % %http://tex.stackexchange.com/questions/76273/multiple-pdfs-with-page-group-included-in-a-single-page-warning \pdfsuppresswarningpagegroup=1 % Fix some spacing % http://tex.stackexchange.com/questions/22119/how-can-i-change-the-spacing-before-theorems-with-amsthm \def\thm@space@setup{% \thm@preskip=\parskip \thm@postskip=0pt } % Don't indent paragraphs, leave some space between them \RequirePackage{parskip} % Hide page number when page is empty \RequirePackage{emptypage}