diff --git a/src/HsH-article.cls b/src/HsH-article.cls index d2cf6ea4136f6c3ab58c8aca8c6dd25dbe44a065..7aac3627d1402e85373316e00098f6279f738f75 100644 --- a/src/HsH-article.cls +++ b/src/HsH-article.cls @@ -1,94 +1,105 @@ -\typeout{Adapted from KOMA script for use in Hochschule Hannover <2022-03-20> Jan Wille} +%% +%% This is file `HsH-article.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% HsH-classes.dtx (with options: `article') +%% +%% This is a generated file. +%% +%% Copyright (C) 2021 by Jan Wille <mail@janwille.de> +%% +%% 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 +%% 2021/01/01 or later. +%% +\typeout{Adapted from KOMA script for use in Hochschule Hannover <2021-03-18> Jan Wille} \NeedsTeXFormat{LaTeX2e} - \newcommand{\myClassName}{HsH-article} -\ProvidesClass{\myClassName}[2021/03/20 HsH Report based on KOMA] +\ProvidesClass{\myClassName}[2021/03/18 v1.0 HsH-Class based on KOMA] +%% commands for HsH-logo \newcommand{\HsHlogoPath}{HSH-Logo.pdf} \newcommand{\HsHlogoPage}{1} +\newcommand{\includeHsHlogohere}[1][5cm]{\includegraphics[width=#1,page=\HsHlogoPage]{\HsHlogoPath}} \newif\if@german% +%% document options ------------------------------------------------------------------------------- \DeclareOption{german}{% - \PassOptionsToPackage{ngerman}{babel} - \@germantrue + \@germantrue } \DeclareOption{ngerman}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germantrue + \@germantrue } \DeclareOption{english}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germanfalse + \@germanfalse } \DeclareOption{f1}{% use logo of fakulty 1 - \renewcommand{\HsHlogoPage}{2} + \renewcommand{\HsHlogoPage}{2} } \DeclareOption{f2}{% use logo of fakulty 2 - \renewcommand{\HsHlogoPage}{3} + \renewcommand{\HsHlogoPage}{3} } \DeclareOption{f3}{% use logo of fakulty 3 - \renewcommand{\HsHlogoPage}{4} + \renewcommand{\HsHlogoPage}{4} } \DeclareOption{f4}{% use logo of fakulty 4 - \renewcommand{\HsHlogoPage}{5} + \renewcommand{\HsHlogoPage}{5} } \DeclareOption{f5}{% use logo of fakulty 5 - \renewcommand{\HsHlogoPage}{6} + \renewcommand{\HsHlogoPage}{6} } \DeclareOption{sans}{% use san serif font - \renewcommand{\familydefault}{\sfdefault} + \renewcommand{\familydefault}{\sfdefault} } \DeclareOption{roman}{% use roman/serif font - \renewcommand{\familydefault}{\rmdefault} + \renewcommand{\familydefault}{\rmdefault} } \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} - -\ExecuteOptions{fontsize=11pt,a4paper,sans} % standart options +\ExecuteOptions{fontsize=11pt,a4paper,ngerman,sans} % standart options \ProcessOptions\relax -% Load KOMA class +%% Load KOMA class \LoadClass{scrartcl} \KOMAoption{toc}{bibliography,listof} -% standart options for packages +%% package loading and config --------------------------------------------------------------------- \PassOptionsToPackage{utf8}{inputenc} +\RequirePackage{inputenc} \PassOptionsToPackage{T1}{fontenc} +\RequirePackage{fontenc} +\RequirePackage{lmodern} % font +\RequirePackage{graphicx} +\RequirePackage{amsmath} +\if@german\RequirePackage{ziffer}\fi \PassOptionsToPackage{left=3cm,right=2.5cm,top=3cm,bottom=3cm}{geometry} -\PassOptionsToPackage{hidelinks}{hyperref} +\RequirePackage{geometry} +\if@german\PassOptionsToPackage{ngerman}{babel}\else\PassOptionsToPackage{english}{babel}\fi +\RequirePackage{babel} \PassOptionsToPackage{headsepline}{scrlayer-scrpage} +\RequirePackage{scrlayer-scrpage} +\RequirePackage{scrhack} +\PassOptionsToPackage{hidelinks}{hyperref} +\RequirePackage{hyperref} +\RequirePackage{bookmark} \PassOptionsToPackage{babel}{csquotes} \if@german\PassOptionsToPackage{german=quotes}{csquotes}\fi - +\RequirePackage{csquotes} +\MakeOuterQuote{"} +\RequirePackage{pgffor} +%% options for not loaded packages ---------------------------------------------------------------- \PassOptionsToPackage{backend=biber,style=alphabetic,sorting=nyt}{biblatex} \PassOptionsToPackage{free-standing-units,abbreviations}{siunitx} \PassOptionsToPackage{european,EFvoltages,straightvoltages,betterproportions}{circuitikz} -% used packages: -\RequirePackage{inputenc} % inputencoding, utf8 recomendet -\RequirePackage{fontenc} % outputencoding, T1 recomendet -\RequirePackage{lmodern} % font -\RequirePackage{babel} % required for german names -\RequirePackage{geometry} % required for changing layout -\RequirePackage{scrlayer-scrpage} % required for header and footer -\RequirePackage{scrhack} % compatability with listings -\RequirePackage{pgffor} % foreach loops -\RequirePackage{graphicx} % required for importing images -\RequirePackage{hyperref} % references and lists are clikable -\RequirePackage{bookmark} % generat bookmarkes -\RequirePackage{amsmath} % a lot of nice Math -\RequirePackage{csquotes} % quotations -\if@german\RequirePackage{ziffer}\fi % german dezimal numbers - - -% internal stuff -\newtoks\@tabtoks -\newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} -\newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} -%\newcommand*\resettabtoks{\global\@tabtoks{}} -\newcommand*\printtabtoks{\the\@tabtoks} -\addtokomafont{publishers}{\normalsize} - - % config for title, header and footer +%% title matters ---------------------------------------------------------------------------------- \newcommand*{\@matrikelnr}{}% \newcommand{\matrikelnr}[1]{\gdef\@matrikelnr{#1}}% \newcommand*{\@professor}{}% @@ -98,10 +109,20 @@ \let\@author\@empty \let\@keywords\@empty \InputIfFileExists{personal.tex}{ - \ClassInfo{\myClassName}{personal.tex was found. Using it...} + \ClassInfo{\myClassName}{personal.tex was found. Using it...} }{ - \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourselfe} + \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourself} } + +%% typesetting indexes upright or standart +\def\subinrm#1{\sb{\mathrm{#1}}} +{\catcode`\_=13 \global\let_=\subinrm} +\mathcode`_="8000 +\newcommand\upsubscripts{\catcode`\_=12 } +\newcommand\normalsubscripts{\catcode`\_=8 } +\upsubscripts + +%% header and footer \pagestyle{scrheadings} \clearpairofpagestyles \automark{section} @@ -109,255 +130,265 @@ \ihead{\@title} \ofoot*{\pagemark} -% typesetting indexes upright or standart -\def\subinrm#1{\sb{\mathrm{#1}}} -{\catcode`\_=13 \global\let_=\subinrm} -\mathcode`_="8000 -\newcommand\upsubscripts{\catcode`\_=12 } % the toggle for upright subscripts -\newcommand\normalsubscripts{\catcode`\_=8 } % the toggle for italic subscripts -\upsubscripts % setting upright as default +%% floats +\renewcommand{\fps@figure}{h!t} +\renewcommand{\fps@table}{h!t} +\ifx\KOMAScriptVersion\undefined\else + \g@addto@macro\@floatboxreset\centering + \setcapwidth[c]{0.8\textwidth} +\fi +\if@german + \renewcaptionname{ngerman}{\figurename}{Abb.} + \renewcaptionname{ngerman}{\tablename}{Tab.} + \renewcaptionname{ngerman}{\abstractname}{Abstract} +\else + \renewcaptionname{english}{\figurename}{Fig.} + \renewcaptionname{english}{\tablename}{Tab.} +\fi -% styling for itemize +%% styling for itemize \renewcommand{\labelitemi}{$\bullet$} \renewcommand{\labelitemii}{$\circ$} \renewcommand{\labelitemiii}{$-$} \renewcommand{\labelitemiv}{$\cdot$} -% custom commands -\newcommand{\includeHsHlogohere}[1][5cm]{\includegraphics[width=#1,page=\HsHlogoPage]{\HsHlogoPath}} -\newcommand{\uproman}[1]{\uppercase\expandafter{\romannumeral#1}} -\newcommand{\lowroman}[1]{\romannumeral#1\relax} - -% do stuff +%% do stuff \setlength\parindent{0pt} % indentation of new paragraphs \raggedbottom -\renewcommand{\fps@figure}{h!t} % positioning of figures -\renewcommand{\fps@table}{h!t} % Positonierung of tables \renewcommand{\layercontentsmeasure}{\empty} % rulers when using draft disabled -\MakeOuterQuote{"} % easy quotationmarks - -% load config at beginning of document +%% custom commands +\newcommand{\uproman}[1]{\uppercase\expandafter{\romannumeral#1}} +\newcommand{\lowroman}[1]{\romannumeral#1\relax} +%% load config at beginning of document \AtBeginDocument{ - \makeatletter - % solve some common errors: - \@ifpackageloaded{biblatex}{ - \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}} % solves fontype warning in San-Serif - }{}% - \@ifpackageloaded{subfigure}{ - \newcommand{\subfigureautorefname}{\figureautorefname} - }{}% - % input config File: - \InputIfFileExists{config.tex}{ - \ClassInfo{\myClassName}{config.tex was found. Using it...} - }{ - \ClassInfo{\myClassName}{no config.tex!! I hope you configered it yourself.} - } - % provide some usefull commands: - \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} % Makro for vertical lines around absolute values - \makeatother + \makeatletter + \@ifpackageloaded{biblatex}{ + \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}} + }{} + \@ifpackageloaded{subfigure}{ + \newcommand{\subfigureautorefname}{\figureautorefname} + }{} + \InputIfFileExists{config.tex}{ + \ClassInfo{\myClassName}{config.tex was found. Using it...} + }{ + \ClassInfo{\myClassName}{no config.tex!! I hope you configered it yourself.} + } + %% provide some usefull commands: + \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} + \makeatother } - -% nicer abstract: +%% nicer abstract --------------------------------------------------------------------------------- \renewenvironment{abstract}{% - \chapter*{\centering\abstractname} - \addcontentsline{toc}{chapter}{\abstractname} - \small - \quotation + \section*{\centering\abstractname} + \addcontentsline{toc}{chapter}{\abstractname} + \small + \quotation }{% - \endquotation + \ifx\@keywords\@empty\else + \vspace{1cm} + \paragraph{\if@german Schlüsselwörter:\else Keywords:\fi} + \@keywords + \fi + \endquotation } - -% decloration of Authorship +%% decloration of Authorship ---------------------------------------------------------------------- \newif\if@oneAuthor \@oneAuthortrue \if@german - \setlocalecaption{ngerman}{dATitle}{Selbstständigkeitserklärung} - \setlocalecaption{ngerman}{dAPronomen}{\if@oneAuthor ich\else wir\fi} - \setlocalecaption{ngerman}{dAPluralendung}{\if@oneAuthor\else n\fi} - \setlocalecaption{ngerman}{dAGenitiv}{\if@oneAuthor mir\else uns\fi} - \setlocalecaption{ngerman}{dAText}{ - Hiermit bestätige\dAPluralendungname\space\dAPronomenname, dass die folgende Arbeit eigenständig von \dAGenitivname\space allein erstellt - und unter Berücksichtigung der zur Verfügung gestellten Aufgabenstellung sowie dem Arbeitsmaterial unter Angabe aller verwendeten Quellen - erarbeitet wurde. Die Regelungen und Konsequenzen eines Plagiats, inklusive disziplinarischer Maßnahmen, sind \dAGenitivname\space - bewusst. Insbesondere wurden alle Zitate und gedanklichen Übernahmen als solche kenntlich gemacht. - } + \setlocalecaption{ngerman}{dATitle}{Selbstständigkeitserklärung} + \setlocalecaption{ngerman}{dAPronomen}{\if@oneAuthor ich\else wir\fi} + \setlocalecaption{ngerman}{dAPluralendung}{\if@oneAuthor\else n\fi} + \setlocalecaption{ngerman}{dAGenitiv}{\if@oneAuthor mir\else uns\fi} + \setlocalecaption{ngerman}{dAText}{ + Hiermit bestätige\dAPluralendungname\space\dAPronomenname, dass die folgende Arbeit eigenständig von \dAGenitivname\space allein erstellt + und unter Berücksichtigung der zur Verfügung gestellten Aufgabenstellung sowie dem Arbeitsmaterial unter Angabe aller verwendeten Quellen + erarbeitet wurde. Die Regelungen und Konsequenzen eines Plagiats, inklusive disziplinarischer Maßnahmen, sind \dAGenitivname\space + bewusst. Insbesondere wurden alle Zitate und gedanklichen Übernahmen als solche kenntlich gemacht. + } \else - \setlocalecaption{english}{dATitle}{Declaration of Authorship} - \setlocalecaption{english}{dAPronomen}{\if@oneAuthor I\else we\fi} - \setlocalecaption{english}{dAPronomenf}{\if@oneAuthor I\else We\fi} - \setlocalecaption{english}{dAPronomverb}{\if@oneAuthor am\else are\fi} - \setlocalecaption{english}{dAGenitiv}{\if@oneAuthor my\else our\fi} - \setlocalecaption{english}{dAText}{ - \dAPronomenfname\space hereby certify that the work \dAPronomenname\space\dAPronomverbname\space submitting is entirely of - \dAGenitivname\space own making except where otherwise indicated. \dAPronomenfname\space\dAPronomverbname\space aware of regulations - concerning plagiarism, including disciplinary actions that may result from it. Any use of the works of any other author, in any form, is - properly acknowledged at their point of use. - } + \setlocalecaption{english}{dATitle}{Declaration of Authorship} + \setlocalecaption{english}{dAPronomen}{\if@oneAuthor I\else we\fi} + \setlocalecaption{english}{dAPronomenf}{\if@oneAuthor I\else We\fi} + \setlocalecaption{english}{dAPronomverb}{\if@oneAuthor am\else are\fi} + \setlocalecaption{english}{dAGenitiv}{\if@oneAuthor my\else our\fi} + \setlocalecaption{english}{dAText}{ + \dAPronomenfname\space hereby certify that the work \dAPronomenname\space\dAPronomverbname\space submitting is entirely of + \dAGenitivname\space own making except where otherwise indicated. \dAPronomenfname\space\dAPronomverbname\space aware of regulations + concerning plagiarism, including disciplinary actions that may result from it. Any use of the works of any other author, in any form, is + properly acknowledged at their point of use. + } \fi \newcommand\declarationAuthorship{ - \renewcommand{\thanks}{\sbox0} - \foreach \x [count=\i] in \@author{\ifnum\i>1\global\@oneAuthorfalse\fi} -% - \thispagestyle{plain} - \vspace*{\fill} - {\rule{\textwidth}{0.1pt}} - \vskip 3em - {\centering\huge\textbf{\dATitlename}\par} - \vskip 3em - {\dATextname\par} - {\raggedleft - \foreach \x in \@author{ - \begin{tabular}[t]{r} - \\[3em] - \rule{4cm}{0.4pt}\\ - {\footnotesize\x} - \end{tabular} - } - \par} + \renewcommand{\thanks}{\sbox0} + \foreach \x [count=\i] in \@author{\ifnum\i>1\global\@oneAuthorfalse\fi} + \thispagestyle{plain} + \vspace*{\fill} + {\rule{\textwidth}{0.1pt}} + \vskip 3em + {\centering\huge\textbf{\dATitlename}\par} + \vskip 3em + {\dATextname\par} + {\raggedleft + \foreach \x in \@author{ + \begin{tabular}[t]{r} + \\[3em] + \rule{4cm}{0.4pt}\\ + {\footnotesize\x} + \end{tabular} + } + \par} } - -% reconfig Titlepage -\renewcommand\maketitle[1][c]{% - \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax - \else - \def\and{% - \end{tabular}% - \hskip 1em \@plus.17fil% - \begin{tabular}[t]{c}% - }% - \fi - \par - \ifx\@uppertitleback\@empty\else - \ClassWarning{\KOMAClassName}{% - non empty \string\uppertitleback\space ignored - by \string\maketitle\MessageBreak - in `titlepage=false' mode% - }% - \fi - \ifx\@lowertitleback\@empty\else - \ClassWarning{\KOMAClassName}{% - non empty \string\lowertitleback\space ignored - by \string\maketitle\MessageBreak - in `titlepage=false' mode% - }% - \fi - \begingroup - \let\@param#1 - \ifx\@param\@empty\ClassError{\myClassName}{\maketitle\space with empty option}{ - \maketitle[] has been called with an empty parameter, this doesn't work. Use \maketitle instead. - } - \fi - \let\titlepage@restore\relax - \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% - \let\@oldmakefnmark\@makefnmark - \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% - \next@tdpage - \ifx\@extratitle\@empty - \ifx\@frontispiece\@empty\else \mbox{}\fi - \else - \@makeextratitle - \fi - \ifx\@frontispiece\@empty - \ifx\@extratitle\@empty\else\next@tdpage\fi - \else - \next@tpage - \@makefrontispiece - \next@tdpage - \fi - \global\@topnum=\z@ - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \IfFileExists{\HsHlogoPath}{}{ - \ClassError{\myClassName}{HsH-Logo.pdf not found!}{ - The HsH Logo is necasary for the titlepage! Try putting it next to your source file or use \HsHlogoPath to define the file location - } - } - \vspace*{1cm} - \begin{minipage}[t]{\textwidth}% - \ifx\@titlehead\@empty \else - \usekomafont{titlehead}{\@titlehead}% - \fi - \hfill - \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{\includeHsHlogohere} - \end{minipage} - \raisebox{10pt}{\rule{\textwidth}{0.5pt}} - \null - \vskip 2em% - \if\@param c\begin{center}\fi - \if\@param r\begin{flushright}\fi - \ifx\@subject\@empty \else - {\usekomafont{subject}{\@subject \par}}% - \vskip 1.5em - \fi - {\usekomafont{title}{\huge \@title \par}}% - \vskip .5em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi}% - \vskip 4em - {\ifx\@matrikelnr\@empty - \if\@author\@empty\else\usekomafont{author}{ - \parbox{\dimexpr\linewidth}{ - \if\@param c\centering\fi - \if\@param r\raggedleft\fi - \@author - } - }\fi - \else - \if\@author\@empty\else - % sneeky comma needed after \@matrikelnr to deal with single item list - \foreach \x [count=\i,evaluate=\i as \y using {{\@matrikelnr,}[\i-1]}] in \@author {\eaddtabtoks{\x & \y\protect\\}} - \usekomafont{author}{\def\arraystretch{1.2} - \if\@param l\hspace{-6pt}\begin{tabular}{l l}\printtabtoks\end{tabular}\fi - \if\@param c\begin{tabular}{l l}\printtabtoks\end{tabular}\fi - \if\@param r\begin{tabular}{r r}\printtabtoks\end{tabular}\hspace{-6pt}\fi - } - \fi - \fi}% - \vskip 1em - {\usekomafont{date}{\@date \par}} - \vskip 1em - {\if\@professor\@empty\else\usekomafont{publishers}{Professor\if@german(in)/Lehrbeauftragte(r)\fi: \@professor}\fi} - \ifx\@dedication\@empty \else - \vskip 2em - {\usekomafont{dedication}{\@dedication \par}} - \fi - \if\@param c\end{center}\fi - \if\@param r\end{flushright}\fi - \par - \vskip 2em - \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi - \@thanks\global\let\@thanks\@empty - \endgroup - \setcounter{footnote}{0}% - \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@frontispiece\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\@matrikelnr\@empty - \global\let\@prof\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax - \global\let\matrikelnr\relax - \global\let\professor\relax - \fi - \global\let\and\relax -}% +%% reconfig Titlepage ----------------------------------------------------------------------------- +\newtoks\@tabtoks +\newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} +\newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} +\newcommand*\printtabtoks{\the\@tabtoks} +\addtokomafont{publishers}{\normalsize} +\renewcommand\maketitle[1][c]{ + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular} + \hskip 1em \@plus.17fil + \begin{tabular}[t]{c}% + } + \fi + \par + \ifx\@uppertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\uppertitleback\space ignored + by \string\maketitle\MessageBreak + in `titlepage=false' mode% + } + \fi + \ifx\@lowertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\lowertitleback\space ignored + by \string\maketitle\MessageBreak + in `titlepage=false' mode% + } + \fi + \begingroup + \let\@param#1 + \ifx\@param\@empty + \ClassError{\myClassName}{\maketitle\space with empty option}{ + \maketitle[] has been called with an empty parameter, this doesn't work. Use \maketitle instead. + } + \fi + \let\titlepage@restore\relax + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \next@tdpage + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else \mbox{}\fi + \else + \@makeextratitle + \fi + \ifx\@frontispiece\@empty + \ifx\@extratitle\@empty\else\next@tdpage\fi + \else + \next@tpage + \@makefrontispiece + \next@tdpage + \fi + \global\@topnum=\z@ + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \IfFileExists{\HsHlogoPath}{}{ + \ClassError{\myClassName}{HsH-Logo.pdf not found!}{ + The HsH Logo is necasary for the titlepage! Try putting it next to your source file or use \HsHlogoPath to define the file location + } + } + \vspace*{1cm} + \begin{minipage}[t]{\textwidth}% + \ifx\@titlehead\@empty \else + \usekomafont{titlehead}{\@titlehead}% + \fi + \hfill + \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{\includeHsHlogohere} + \end{minipage} + \raisebox{10pt}{\rule{\textwidth}{0.5pt}} + \null + \vskip 2em + \begingroup + \if\@param c\centering\fi + \if\@param r\raggedleft\fi + \ifx\@subject\@empty\else + {\usekomafont{subject}{\@subject\par}} + \vskip 1.5em + \fi + {\usekomafont{title}{\huge\@title\par}} + \vskip .5em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi} + \vskip 4em + {\ifx\@matrikelnr\@empty + \if\@author\@empty\else\usekomafont{author}{ + \parbox{\dimexpr\linewidth}{ + \if\@param c\centering\fi + \if\@param r\raggedleft\fi + \@author + } + }\fi + \else + \if\@author\@empty\else + % sneeky comma needed after \@matrikelnr to deal with single item lists + \foreach \x [count=\i,evaluate=\i as \y using {{\@matrikelnr,}[\i-1]}] in \@author {\eaddtabtoks{\x & \y\protect\\}} + \usekomafont{author}{\def\arraystretch{1.2} + \if\@param l\hspace{-6pt}\begin{tabular}{l l}\printtabtoks\end{tabular}\fi + \if\@param c\begin{tabular}{l l}\printtabtoks\end{tabular}\fi + \if\@param r\begin{tabular}{r r}\printtabtoks\end{tabular}\hspace{-6pt}\fi + } + \fi + \fi} + \vskip 1em + {\usekomafont{date}{\@date\par}} + \vskip 1em + {\if\@professor\@empty\else\usekomafont{publishers}{Professor\if@german(in)/Lehrbeauftragte(r)\fi: \@professor}\fi} + \ifx\@dedication\@empty\else + \vskip 2em + {\usekomafont{dedication}{\@dedication \par}}% + \fi + \par + \endgroup + \vskip 2em + \ifx\titlepagestyle\@empty\else\thispagestyle{\titlepagestyle}\fi + \@thanks\global\let\@thanks\@empty + \endgroup + \setcounter{footnote}{0} + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@frontispiece\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\@matrikelnr\@empty + \global\let\@prof\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\matrikelnr\relax + \global\let\professor\relax + \fi + \global\let\and\relax +} +\endinput +%% +%% End of file `HsH-article.cls'. diff --git a/src/HsH-report.cls b/src/HsH-report.cls index 9fee3d8a0e97e934098cd24f343ebcadba03bcde..e4463c16a95c74a0ea0c853d3afcb2132a781e9a 100644 --- a/src/HsH-report.cls +++ b/src/HsH-report.cls @@ -1,93 +1,105 @@ +%% +%% This is file `HsH-report.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% HsH-classes.dtx (with options: `report') +%% +%% This is a generated file. +%% +%% Copyright (C) 2021 by Jan Wille <mail@janwille.de> +%% +%% 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 +%% 2021/01/01 or later. +%% \typeout{Adapted from KOMA script for use in Hochschule Hannover <2021-03-18> Jan Wille} \NeedsTeXFormat{LaTeX2e} - \newcommand{\myClassName}{HsH-report} -\ProvidesClass{\myClassName}[2021/03/18 HsH-Report based on KOMA] +\ProvidesClass{\myClassName}[2021/03/18 v1.0 HsH-Class based on KOMA] +%% commands for HsH-logo \newcommand{\HsHlogoPath}{HSH-Logo.pdf} \newcommand{\HsHlogoPage}{1} +\newcommand{\includeHsHlogohere}[1][5cm]{\includegraphics[width=#1,page=\HsHlogoPage]{\HsHlogoPath}} \newif\if@german% +%% document options ------------------------------------------------------------------------------- \DeclareOption{german}{% - \PassOptionsToPackage{ngerman}{babel} - \@germantrue + \@germantrue } \DeclareOption{ngerman}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germantrue + \@germantrue } \DeclareOption{english}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germanfalse + \@germanfalse } \DeclareOption{f1}{% use logo of fakulty 1 - \renewcommand{\HsHlogoPage}{2} + \renewcommand{\HsHlogoPage}{2} } \DeclareOption{f2}{% use logo of fakulty 2 - \renewcommand{\HsHlogoPage}{3} + \renewcommand{\HsHlogoPage}{3} } \DeclareOption{f3}{% use logo of fakulty 3 - \renewcommand{\HsHlogoPage}{4} + \renewcommand{\HsHlogoPage}{4} } \DeclareOption{f4}{% use logo of fakulty 4 - \renewcommand{\HsHlogoPage}{5} + \renewcommand{\HsHlogoPage}{5} } \DeclareOption{f5}{% use logo of fakulty 5 - \renewcommand{\HsHlogoPage}{6} + \renewcommand{\HsHlogoPage}{6} } \DeclareOption{sans}{% use san serif font - \renewcommand{\familydefault}{\sfdefault} + \renewcommand{\familydefault}{\sfdefault} } \DeclareOption{roman}{% use roman/serif font - \renewcommand{\familydefault}{\rmdefault} + \renewcommand{\familydefault}{\rmdefault} } \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrreprt}} - -\ExecuteOptions{fontsize=11pt,a4paper,sans} % standart options +\ExecuteOptions{fontsize=11pt,a4paper,ngerman,sans} % standart options \ProcessOptions\relax -% Load KOMA class +%% Load KOMA class \LoadClass{scrreprt} \KOMAoption{toc}{bibliography,listof} -% standart options for packages +%% package loading and config --------------------------------------------------------------------- \PassOptionsToPackage{utf8}{inputenc} +\RequirePackage{inputenc} \PassOptionsToPackage{T1}{fontenc} +\RequirePackage{fontenc} +\RequirePackage{lmodern} % font +\RequirePackage{graphicx} +\RequirePackage{amsmath} +\if@german\RequirePackage{ziffer}\fi \PassOptionsToPackage{left=3cm,right=2.5cm,top=3cm,bottom=3cm}{geometry} -\PassOptionsToPackage{hidelinks}{hyperref} +\RequirePackage{geometry} +\if@german\PassOptionsToPackage{ngerman}{babel}\else\PassOptionsToPackage{english}{babel}\fi +\RequirePackage{babel} \PassOptionsToPackage{headsepline}{scrlayer-scrpage} +\RequirePackage{scrlayer-scrpage} +\RequirePackage{scrhack} +\PassOptionsToPackage{hidelinks}{hyperref} +\RequirePackage{hyperref} +\RequirePackage{bookmark} \PassOptionsToPackage{babel}{csquotes} \if@german\PassOptionsToPackage{german=quotes}{csquotes}\fi - +\RequirePackage{csquotes} +\MakeOuterQuote{"} +\RequirePackage{pgffor} +%% options for not loaded packages ---------------------------------------------------------------- \PassOptionsToPackage{backend=biber,style=alphabetic,sorting=nyt}{biblatex} \PassOptionsToPackage{free-standing-units,abbreviations}{siunitx} \PassOptionsToPackage{european,EFvoltages,straightvoltages,betterproportions}{circuitikz} -% used packages: -\RequirePackage{inputenc} % inputencoding, utf8 recomendet -\RequirePackage{fontenc} % outputencoding, T1 recomendet -\RequirePackage{lmodern} % font -\RequirePackage{babel} % required for german names -\RequirePackage{geometry} % required for changing layout -\RequirePackage{scrlayer-scrpage} % required for header and footer -\RequirePackage{scrhack} % compatability with listings -\RequirePackage{pgffor} % foreach loops -\RequirePackage{graphicx} % required for importing images -\RequirePackage{hyperref} % references and lists are clikable -\RequirePackage{bookmark} % generat bookmarkes -\RequirePackage{amsmath} % a lot of nice Math -\RequirePackage{csquotes} % quotations -\if@german\RequirePackage{ziffer}\fi % german dezimal numbers - - -% internal commands -\newtoks\@tabtoks -\newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} -\newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} -%\newcommand*\resettabtoks{\global\@tabtoks{}} -\newcommand*\printtabtoks{\the\@tabtoks} - -% config for title, header and footer +%% title matters ---------------------------------------------------------------------------------- \newcommand*{\@matrikelnr}{}% \newcommand{\matrikelnr}[1]{\gdef\@matrikelnr{#1}}% \newcommand*{\@professor}{}% @@ -97,329 +109,343 @@ \let\@author\@empty \let\@keywords\@empty \InputIfFileExists{personal.tex}{ - \ClassInfo{\myClassName}{personal.tex was found. Using it...} + \ClassInfo{\myClassName}{personal.tex was found. Using it...} }{ - \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourselfe} + \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourself} } + +%% typesetting indexes upright or standart +\def\subinrm#1{\sb{\mathrm{#1}}} +{\catcode`\_=13 \global\let_=\subinrm} +\mathcode`_="8000 +\newcommand\upsubscripts{\catcode`\_=12 } +\newcommand\normalsubscripts{\catcode`\_=8 } +\upsubscripts + +%% header and footer \pagestyle{scrheadings} \clearpairofpagestyles -\renewcommand*{\chapterpagestyle}{scrheadings} % Chaptertitles get same header/footer as everything +\renewcommand*{\chapterpagestyle}{scrheadings} \automark{chapter} \ohead{\headmark} \ihead{\@title} \ofoot*{\pagemark} -% typesetting indexes upright or standart -\def\subinrm#1{\sb{\mathrm{#1}}} -{\catcode`\_=13 \global\let_=\subinrm} -\mathcode`_="8000 -\newcommand\upsubscripts{\catcode`\_=12 } % the toggle for upright subscripts -\newcommand\normalsubscripts{\catcode`\_=8 } % the toggle for italic subscripts -\upsubscripts % setting upright as default +%% floats +\renewcommand{\fps@figure}{h!t} +\renewcommand{\fps@table}{h!t} +\ifx\KOMAScriptVersion\undefined\else + \g@addto@macro\@floatboxreset\centering + \setcapwidth[c]{0.8\textwidth} +\fi +\if@german + \renewcaptionname{ngerman}{\figurename}{Abb.} + \renewcaptionname{ngerman}{\tablename}{Tab.} + \renewcaptionname{ngerman}{\abstractname}{Abstract} +\else + \renewcaptionname{english}{\figurename}{Fig.} + \renewcaptionname{english}{\tablename}{Tab.} +\fi -% styling for itemize +%% styling for itemize \renewcommand{\labelitemi}{$\bullet$} \renewcommand{\labelitemii}{$\circ$} \renewcommand{\labelitemiii}{$-$} \renewcommand{\labelitemiv}{$\cdot$} -% custom commands -\newcommand{\includeHsHlogohere}[1][5cm]{\includegraphics[width=#1,page=\HsHlogoPage]{\HsHlogoPath}} -\newcommand{\uproman}[1]{\uppercase\expandafter{\romannumeral#1}} -\newcommand{\lowroman}[1]{\romannumeral#1\relax} - -% do stuff +%% do stuff \setlength\parindent{0pt} % indentation of new paragraphs \raggedbottom -\renewcommand{\fps@figure}{h!t} % positioning of figures -\renewcommand{\fps@table}{h!t} % Positonierung of tables \renewcommand{\layercontentsmeasure}{\empty} % rulers when using draft disabled -\MakeOuterQuote{"} % easy quotationmarks -\addtokomafont{publishers}{\normalsize} - -% load config at beginning of document +%% custom commands +\newcommand{\uproman}[1]{\uppercase\expandafter{\romannumeral#1}} +\newcommand{\lowroman}[1]{\romannumeral#1\relax} +%% load config at beginning of document \AtBeginDocument{ - \makeatletter - % solve some common errors: - \@ifpackageloaded{biblatex}{ - \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}} % solves fontype warning in San-Serif - }{}% - \@ifpackageloaded{subfigure}{ - \newcommand{\subfigureautorefname}{\figureautorefname} - }{}% - % input config File: - \InputIfFileExists{config.tex}{ - \ClassInfo{\myClassName}{config.tex was found. Using it...} - }{ - \ClassInfo{\myClassName}{no config.tex!! I hope you configered it yourself.} - } - % provide some usefull commands: - \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} % Makro for vertical lines around absolute values - \makeatother + \makeatletter + \@ifpackageloaded{biblatex}{ + \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}} + }{} + \@ifpackageloaded{subfigure}{ + \newcommand{\subfigureautorefname}{\figureautorefname} + }{} + \InputIfFileExists{config.tex}{ + \ClassInfo{\myClassName}{config.tex was found. Using it...} + }{ + \ClassInfo{\myClassName}{no config.tex!! I hope you configered it yourself.} + } + %% provide some usefull commands: + \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} + \makeatother } - -% nicer abstract: +%% nicer abstract --------------------------------------------------------------------------------- \renewenvironment{abstract}{% - \chapter*{\centering\abstractname} - \addcontentsline{toc}{chapter}{\abstractname} - \small - \quotation + \chapter*{\centering\abstractname} + \addcontentsline{toc}{chapter}{\abstractname} + \small + \quotation }{% - \ifx\@keywords\@empty\else - \vspace{1cm} - \paragraph{\if@german Schlüsselwörter:\else Keywords:\fi} - \@keywords - \fi - \endquotation + \ifx\@keywords\@empty\else + \vspace{1cm} + \paragraph{\if@german Schlüsselwörter:\else Keywords:\fi} + \@keywords + \fi + \endquotation } - -% decloration of Authorship +%% decloration of Authorship ---------------------------------------------------------------------- \newif\if@oneAuthor \@oneAuthortrue \if@german - \setlocalecaption{ngerman}{dATitle}{Selbstständigkeitserklärung} - \setlocalecaption{ngerman}{dAPronomen}{\if@oneAuthor ich\else wir\fi} - \setlocalecaption{ngerman}{dAPluralendung}{\if@oneAuthor\else n\fi} - \setlocalecaption{ngerman}{dAGenitiv}{\if@oneAuthor mir\else uns\fi} - \setlocalecaption{ngerman}{dAText}{ - Hiermit bestätige\dAPluralendungname\space\dAPronomenname, dass die folgende Arbeit eigenständig von \dAGenitivname\space allein erstellt - und unter Berücksichtigung der zur Verfügung gestellten Aufgabenstellung sowie dem Arbeitsmaterial unter Angabe aller verwendeten Quellen - erarbeitet wurde. Die Regelungen und Konsequenzen eines Plagiats, inklusive disziplinarischer Maßnahmen, sind \dAGenitivname\space - bewusst. Insbesondere wurden alle Zitate und gedanklichen Übernahmen als solche kenntlich gemacht. - } + \setlocalecaption{ngerman}{dATitle}{Selbstständigkeitserklärung} + \setlocalecaption{ngerman}{dAPronomen}{\if@oneAuthor ich\else wir\fi} + \setlocalecaption{ngerman}{dAPluralendung}{\if@oneAuthor\else n\fi} + \setlocalecaption{ngerman}{dAGenitiv}{\if@oneAuthor mir\else uns\fi} + \setlocalecaption{ngerman}{dAText}{ + Hiermit bestätige\dAPluralendungname\space\dAPronomenname, dass die folgende Arbeit eigenständig von \dAGenitivname\space allein erstellt + und unter Berücksichtigung der zur Verfügung gestellten Aufgabenstellung sowie dem Arbeitsmaterial unter Angabe aller verwendeten Quellen + erarbeitet wurde. Die Regelungen und Konsequenzen eines Plagiats, inklusive disziplinarischer Maßnahmen, sind \dAGenitivname\space + bewusst. Insbesondere wurden alle Zitate und gedanklichen Übernahmen als solche kenntlich gemacht. + } \else - \setlocalecaption{english}{dATitle}{Declaration of Authorship} - \setlocalecaption{english}{dAPronomen}{\if@oneAuthor I\else we\fi} - \setlocalecaption{english}{dAPronomenf}{\if@oneAuthor I\else We\fi} - \setlocalecaption{english}{dAPronomverb}{\if@oneAuthor am\else are\fi} - \setlocalecaption{english}{dAGenitiv}{\if@oneAuthor my\else our\fi} - \setlocalecaption{english}{dAText}{ - \dAPronomenfname\space hereby certify that the work \dAPronomenname\space\dAPronomverbname\space submitting is entirely of - \dAGenitivname\space own making except where otherwise indicated. \dAPronomenfname\space\dAPronomverbname\space aware of regulations - concerning plagiarism, including disciplinary actions that may result from it. Any use of the works of any other author, in any form, is - properly acknowledged at their point of use. - } + \setlocalecaption{english}{dATitle}{Declaration of Authorship} + \setlocalecaption{english}{dAPronomen}{\if@oneAuthor I\else we\fi} + \setlocalecaption{english}{dAPronomenf}{\if@oneAuthor I\else We\fi} + \setlocalecaption{english}{dAPronomverb}{\if@oneAuthor am\else are\fi} + \setlocalecaption{english}{dAGenitiv}{\if@oneAuthor my\else our\fi} + \setlocalecaption{english}{dAText}{ + \dAPronomenfname\space hereby certify that the work \dAPronomenname\space\dAPronomverbname\space submitting is entirely of + \dAGenitivname\space own making except where otherwise indicated. \dAPronomenfname\space\dAPronomverbname\space aware of regulations + concerning plagiarism, including disciplinary actions that may result from it. Any use of the works of any other author, in any form, is + properly acknowledged at their point of use. + } \fi \newcommand\declarationAuthorship{ - \renewcommand{\thanks}{\sbox0} - \foreach \x [count=\i] in \@author{\ifnum\i>1\global\@oneAuthorfalse\fi} -% - \thispagestyle{plain} - \vspace*{\fill} - {\rule{\textwidth}{0.1pt}} - \vskip 3em - {\centering\huge\textbf{\dATitlename}\par} - \vskip 3em - {\dATextname\par} - {\raggedleft - \foreach \x in \@author{ - \begin{tabular}[t]{r} - \\[3em] - \rule{4cm}{0.4pt}\\ - {\footnotesize\x} - \end{tabular} - } - \par} + \renewcommand{\thanks}{\sbox0} + \foreach \x [count=\i] in \@author{\ifnum\i>1\global\@oneAuthorfalse\fi} + \thispagestyle{plain} + \vspace*{\fill} + {\rule{\textwidth}{0.1pt}} + \vskip 3em + {\centering\huge\textbf{\dATitlename}\par} + \vskip 3em + {\dATextname\par} + {\raggedleft + \foreach \x in \@author{ + \begin{tabular}[t]{r} + \\[3em] + \rule{4cm}{0.4pt}\\ + {\footnotesize\x} + \end{tabular} + } + \par} } - -% reconfig Titlepage -\renewcommand\maketitle[1][l]{% - \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax - \else - \def\and{% - \end{tabular}% - \hskip 1em \@plus.17fil% - \begin{tabular}[t]{c}% - }% - \fi - \begin{titlepage} - \let\@param#1 - \ifx\@param\@empty\ClassError{\myClassName}{\maketitle\space with empty option}{ - \maketitle[] has been called with an empty parameter, this doesn't work. Use \maketitle instead. - } - \fi - \if@titlepageiscoverpage - \edef\titlepage@restore{% - \noexpand\endgroup - \noexpand\global\noexpand\@colht\the\@colht - \noexpand\global\noexpand\@colroom\the\@colroom - \noexpand\global\vsize\the\vsize - \noexpand\global\noexpand\@titlepageiscoverpagefalse - \noexpand\let\noexpand\titlepage@restore\noexpand\relax - }% - \begingroup - \topmargin=\dimexpr \coverpagetopmargin-1in\relax - \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax - \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax - \textwidth=\dimexpr - \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax - \textheight=\dimexpr - \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax - \headheight=0pt - \headsep=0pt - \footskip=\baselineskip - \@colht=\textheight - \@colroom=\textheight - \vsize=\textheight - \columnwidth=\textwidth - \hsize=\columnwidth - \linewidth=\hsize - \else - \let\titlepage@restore\relax - \fi - \let\footnotesize\small - \let\footnoterule\relax - \let\footnote\thanks - \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% - \let\@oldmakefnmark\@makefnmark - \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% - \ifx\@extratitle\@empty - \ifx\@frontispiece\@empty - \else - \if@twoside\mbox{}\next@tpage\fi - \noindent\@frontispiece\next@tdpage - \fi - \else - \noindent\@extratitle - \ifx\@frontispiece\@empty - \else - \next@tpage - \noindent\@frontispiece - \fi - \next@tdpage - \fi - \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative - \IfFileExists{\HsHlogoPath}{}{ - \ClassError{\myClassName}{HsH-Logo.pdf not found!}{ - The HsH Logo is necasary for the titlepage! Try putting it next to your source file or use \HsHlogoPath to define the file location - } - } - \vspace*{1cm} - \begin{minipage}[t]{\textwidth}% - \ifx\@titlehead\@empty \else - \usekomafont{titlehead}{\@titlehead}% - \fi - \hfill - \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{\includeHsHlogohere} % image referrencepoint in lower left corner - \end{minipage} - \raisebox{10pt}{\rule{\textwidth}{0.5pt}} - \null\vfill - \if\@param c\begin{center}\fi - \if\@param r\begin{flushright}\fi - \ifx\@subject\@empty \else - {\usekomafont{subject}{\@subject\par}}% - \vskip 3em - \fi - {\usekomafont{title}{\huge\@title\par}}% - \vskip 1em - {\ifx\@subtitle\@empty\else\usekomafont{subtitle}{\@subtitle\par}\fi}% - \vskip 4em - {\ifx\@matrikelnr\@empty - \if\@author\@empty\else\usekomafont{author}{ - \parbox{\dimexpr\linewidth}{ - \if\@param c\centering\fi - \if\@param r\raggedleft\fi - \@author - } - }\fi - \else - \if\@author\@empty\else - % sneeky comma needed after \@matrikelnr to deal with single item list - \foreach \x [count=\i,evaluate=\i as \y using {{\@matrikelnr,}[\i-1]}] in \@author {\eaddtabtoks{\x & \y\protect\\}} - \usekomafont{author}{\def\arraystretch{1.2} - \if\@param l\hspace{-6pt}\begin{tabular}{l l}\printtabtoks\end{tabular}\fi - \if\@param c\begin{tabular}{l l}\printtabtoks\end{tabular}\fi - \if\@param r\begin{tabular}{r r}\printtabtoks\end{tabular}\hspace{-6pt}\fi - } - \fi - \fi}% - \vskip 1.5em - {\usekomafont{date}{\@date \par}} - \vskip \z@ \@plus3fill - {\if\@professor\@empty\else\usekomafont{publishers}{Professor\if@german(in)/Lehrbeauftragte(r)\fi: \@professor}\fi} - \vskip 3em - \if\@param c\end{center}\fi - \if\@param r\end{flushright}\fi - \par - \@thanks\global\let\@thanks\@empty - \vfill\null - \if@twoside - \@tempswatrue - \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax - \else - \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty - \@tempswafalse - \fi\fi - \fi - \if@tempswa - \next@tpage - \begin{minipage}[t]{\textwidth} - \@uppertitleback - \end{minipage}\par - \vfill - \begin{minipage}[b]{\textwidth} - \@lowertitleback - \end{minipage}\par - \@thanks\global\let\@thanks\@empty - \fi - \else - \ifx\@uppertitleback\@empty\else - \ClassWarning{\KOMAClassName}{% - non empty \string\uppertitleback\space ignored - by \string\maketitle\MessageBreak - in `twoside=false' mode% - }% - \fi - \ifx\@lowertitleback\@empty\else - \ClassWarning{\KOMAClassName}{% - non empty \string\lowertitleback\space ignored - by \string\maketitle\MessageBreak - in `twoside=false' mode% - }% - \fi - \fi - \ifx\@dedication\@empty - \else - \next@tdpage\null\vfill - {\centering\usekomafont{dedication}{\@dedication \par}}% - \vskip \z@ \@plus3fill - \@thanks\global\let\@thanks\@empty - \cleardoubleemptypage - \fi - \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi - \end{titlepage} - \setcounter{footnote}{0}% - \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax - \let\thanks\relax - \let\maketitle\relax - \let\@maketitle\relax - \global\let\@thanks\@empty - \global\let\@author\@empty - \global\let\@date\@empty - \global\let\@title\@empty - \global\let\@subtitle\@empty - \global\let\@extratitle\@empty - \global\let\@frontispiece\@empty - \global\let\@titlehead\@empty - \global\let\@subject\@empty - \global\let\@publishers\@empty - \global\let\@uppertitleback\@empty - \global\let\@lowertitleback\@empty - \global\let\@dedication\@empty - \global\let\@matrikelnr\@empty - \global\let\@professor\@empty - \global\let\author\relax - \global\let\title\relax - \global\let\extratitle\relax - \global\let\titlehead\relax - \global\let\subject\relax - \global\let\publishers\relax - \global\let\uppertitleback\relax - \global\let\lowertitleback\relax - \global\let\dedication\relax - \global\let\date\relax - \global\let\matrikelnr\relax - \global\let\professor\relax - \fi - \global\let\and\relax -}% +%% reconfig Titlepage ----------------------------------------------------------------------------- +\newtoks\@tabtoks +\newcommand\addtabtoks[1]{\global\@tabtoks\expandafter{\the\@tabtoks#1}} +\newcommand\eaddtabtoks[1]{\edef\mytmp{#1}\expandafter\addtabtoks\expandafter{\mytmp}} +\newcommand*\printtabtoks{\the\@tabtoks} +\addtokomafont{publishers}{\normalsize} +\renewcommand\maketitle[1][l]{ + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \else + \def\and{% + \end{tabular} + \hskip 1em \@plus.17fil + \begin{tabular}[t]{c}% + } + \fi + \begin{titlepage} + \let\@param#1 + \ifx\@param\@empty + \ClassError{\myClassName}{\maketitle\space with empty option}{ + \maketitle[] has been called with an empty parameter, this doesn't work. Use \maketitle instead. + } + \fi + \if@titlepageiscoverpage + \edef\titlepage@restore{ + \noexpand\endgroup + \noexpand\global\noexpand\@colht\the\@colht + \noexpand\global\noexpand\@colroom\the\@colroom + \noexpand\global\vsize\the\vsize + \noexpand\global\noexpand\@titlepageiscoverpagefalse + \noexpand\let\noexpand\titlepage@restore\noexpand\relax + } + \begingroup + \topmargin=\dimexpr \coverpagetopmargin-1in\relax + \oddsidemargin=\dimexpr \coverpageleftmargin-1in\relax + \evensidemargin=\dimexpr \coverpageleftmargin-1in\relax + \textwidth=\dimexpr + \paperwidth-\coverpageleftmargin-\coverpagerightmargin\relax + \textheight=\dimexpr + \paperheight-\coverpagetopmargin-\coverpagebottommargin\relax + \headheight=0pt + \headsep=0pt + \footskip=\baselineskip + \@colht=\textheight + \@colroom=\textheight + \vsize=\textheight + \columnwidth=\textwidth + \hsize=\columnwidth + \linewidth=\hsize + \else + \let\titlepage@restore\relax + \fi + \let\footnotesize\small + \let\footnoterule\relax + \let\footnote\thanks + \renewcommand*\thefootnote{\@fnsymbol\c@footnote}% + \let\@oldmakefnmark\@makefnmark + \renewcommand*{\@makefnmark}{\rlap\@oldmakefnmark}% + \ifx\@extratitle\@empty + \ifx\@frontispiece\@empty\else + \if@twoside\mbox{}\next@tpage\fi + \noindent\@frontispiece\next@tdpage + \fi + \else + \noindent\@extratitle + \ifx\@frontispiece\@empty + \else + \next@tpage + \noindent\@frontispiece + \fi + \next@tdpage + \fi + \setparsizes{\z@}{\z@}{\z@\@plus 1fil}\par@updaterelative + \IfFileExists{\HsHlogoPath}{}{ + \ClassError{\myClassName}{HsH-Logo.pdf not found!}{ + The HsH Logo is necasary for the titlepage! Try putting it next to your source file or use \HsHlogoPath to define the file location + } + } + \vspace*{1cm} + \begin{minipage}[t]{\textwidth}% + \ifx\@titlehead\@empty \else + \usekomafont{titlehead}{\@titlehead}% + \fi + \hfill + \raisebox{0pt}[\ht\strutbox][\dp\strutbox]{\includeHsHlogohere} + \end{minipage} + \raisebox{10pt}{\rule{\textwidth}{0.5pt}} + \null + \vfill + \begingroup + \if\@param c\centering\fi + \if\@param r\raggedleft\fi + \ifx\@subject\@empty\else + {\usekomafont{subject}{\@subject\par}} + \vskip 3em + \fi + {\usekomafont{title}{\huge\@title\par}} + \vskip 1em + {\ifx\@subtitle\@empty\else\usekomafont{subtitle}\@subtitle\par\fi} + \vskip 4em + {\ifx\@matrikelnr\@empty + \if\@author\@empty\else\usekomafont{author}{ + \parbox{\dimexpr\linewidth}{ + \if\@param c\centering\fi + \if\@param r\raggedleft\fi + \@author + } + }\fi + \else + \if\@author\@empty\else + % sneeky comma needed after \@matrikelnr to deal with single item lists + \foreach \x [count=\i,evaluate=\i as \y using {{\@matrikelnr,}[\i-1]}] in \@author {\eaddtabtoks{\x & \y\protect\\}} + \usekomafont{author}{\def\arraystretch{1.2} + \if\@param l\hspace{-6pt}\begin{tabular}{l l}\printtabtoks\end{tabular}\fi + \if\@param c\begin{tabular}{l l}\printtabtoks\end{tabular}\fi + \if\@param r\begin{tabular}{r r}\printtabtoks\end{tabular}\hspace{-6pt}\fi + } + \fi + \fi} + \vskip 1.5em + {\usekomafont{date}{\@date\par}} + \vskip \z@ \@plus3fill + {\if\@professor\@empty\else\usekomafont{publishers}{Professor\if@german(in)/Lehrbeauftragte(r)\fi: \@professor}\fi} + \par + \endgroup + \vskip 3em + \@thanks\global\let\@thanks\@empty + \vfill\null + \if@twoside + \@tempswatrue + \expandafter\ifnum \@nameuse{scr@v@3.12}>\scr@compatibility\relax + \else + \ifx\@uppertitleback\@empty\ifx\@lowertitleback\@empty + \@tempswafalse + \fi\fi + \fi + \if@tempswa + \next@tpage + \begin{minipage}[t]{\textwidth} + \@uppertitleback + \end{minipage}\par + \vfill + \begin{minipage}[b]{\textwidth} + \@lowertitleback + \end{minipage}\par + \@thanks\global\let\@thanks\@empty + \fi + \else + \ifx\@uppertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\uppertitleback\space ignored + by \string\maketitle\MessageBreak + in `twoside=false' mode% + } + \fi + \ifx\@lowertitleback\@empty\else + \ClassWarning{\KOMAClassName}{% + non empty \string\lowertitleback\space ignored + by \string\maketitle\MessageBreak + in `twoside=false' mode% + } + \fi + \fi + \ifx\@dedication\@empty + \else + \next@tdpage\null\vfill + {\centering\usekomafont{dedication}{\@dedication \par}}% + \vskip \z@ \@plus3fill + \@thanks\global\let\@thanks\@empty + \cleardoubleemptypage + \fi + \ifx\titlepage@restore\relax\else\clearpage\titlepage@restore\fi + \end{titlepage} + \setcounter{footnote}{0} + \expandafter\ifnum \csname scr@v@3.12\endcsname>\scr@compatibility\relax + \let\thanks\relax + \let\maketitle\relax + \let\@maketitle\relax + \global\let\@thanks\@empty + \global\let\@author\@empty + \global\let\@date\@empty + \global\let\@title\@empty + \global\let\@subtitle\@empty + \global\let\@extratitle\@empty + \global\let\@frontispiece\@empty + \global\let\@titlehead\@empty + \global\let\@subject\@empty + \global\let\@publishers\@empty + \global\let\@uppertitleback\@empty + \global\let\@lowertitleback\@empty + \global\let\@dedication\@empty + \global\let\@matrikelnr\@empty + \global\let\@prof\@empty + \global\let\author\relax + \global\let\title\relax + \global\let\extratitle\relax + \global\let\titlehead\relax + \global\let\subject\relax + \global\let\publishers\relax + \global\let\uppertitleback\relax + \global\let\lowertitleback\relax + \global\let\dedication\relax + \global\let\date\relax + \global\let\matrikelnr\relax + \global\let\professor\relax + \fi + \global\let\and\relax +} +\endinput +%% +%% End of file `HsH-report.cls'. diff --git a/src/HsH-standalone.cls b/src/HsH-standalone.cls index eef8c00f71573ffacadbdca544d28db848a09568..417fc5e5ea416f6a7bf54f7a2ec3279345fb5bfc 100644 --- a/src/HsH-standalone.cls +++ b/src/HsH-standalone.cls @@ -1,56 +1,88 @@ +%% +%% This is file `HsH-standalone.cls', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% HsH-classes.dtx (with options: `standalone') +%% +%% This is a generated file. +%% +%% Copyright (C) 2021 by Jan Wille <mail@janwille.de> +%% +%% 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 +%% 2021/01/01 or later. +%% \typeout{Adapted from KOMA script for use in Hochschule Hannover <2021-03-18> Jan Wille} \NeedsTeXFormat{LaTeX2e} - \newcommand{\myClassName}{HsH-standalone} -\ProvidesClass{\myClassName}[2021/03/18 HsH Report based on KOMA] +\ProvidesClass{\myClassName}[2021/03/18 v1.0 HsH-Class based on KOMA] +%% commands for HsH-logo \newcommand{\HsHlogoPath}{HSH-Logo.pdf} \newcommand{\HsHlogoPage}{1} -\newcommand{\includeHsHlogohere}{\includegraphics[width=5cm,page=\HsHlogoPage]{\HsHlogoPath}} - - +\newcommand{\includeHsHlogohere}[1][5cm]{\includegraphics[width=#1,page=\HsHlogoPage]{\HsHlogoPath}} \newif\if@german% + +%% document options ------------------------------------------------------------------------------- \DeclareOption{german}{% - \PassOptionsToPackage{ngerman}{babel} - \@germantrue + \@germantrue } \DeclareOption{ngerman}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germantrue + \@germantrue } \DeclareOption{english}{% - \PassOptionsToPackage{\CurrentOption}{babel} - \@germanfalse + \@germanfalse } \DeclareOption{f1}{% use logo of fakulty 1 - \renewcommand{\HsHlogoPage}{2} + \renewcommand{\HsHlogoPage}{2} } \DeclareOption{f2}{% use logo of fakulty 2 - \renewcommand{\HsHlogoPage}{3} + \renewcommand{\HsHlogoPage}{3} } \DeclareOption{f3}{% use logo of fakulty 3 - \renewcommand{\HsHlogoPage}{4} + \renewcommand{\HsHlogoPage}{4} } \DeclareOption{f4}{% use logo of fakulty 4 - \renewcommand{\HsHlogoPage}{5} + \renewcommand{\HsHlogoPage}{5} } \DeclareOption{f5}{% use logo of fakulty 5 - \renewcommand{\HsHlogoPage}{6} + \renewcommand{\HsHlogoPage}{6} } \DeclareOption{sans}{% use san serif font - \renewcommand{\familydefault}{\sfdefault} + \renewcommand{\familydefault}{\sfdefault} } \DeclareOption{roman}{% use roman/serif font - \renewcommand{\familydefault}{\rmdefault} + \renewcommand{\familydefault}{\rmdefault} } \DeclareOption*{\PassOptionsToClass{\CurrentOption}{standalone}} - \ExecuteOptions{margin=0.25cm,fontsize=11pt,a4paper,ngerman,sans} % standart options \ProcessOptions\relax +%% Load KOMA class \LoadClass[multi=tikzpicture,multi=circuitikz]{standalone} +%% package loading and config --------------------------------------------------------------------- +\PassOptionsToPackage{utf8}{inputenc} +\RequirePackage{inputenc} +\PassOptionsToPackage{T1}{fontenc} +\RequirePackage{fontenc} +\RequirePackage{lmodern} % font +\RequirePackage{graphicx} +\RequirePackage{amsmath} +\if@german\RequirePackage{ziffer}\fi +%% options for not loaded packages ---------------------------------------------------------------- +\PassOptionsToPackage{free-standing-units,abbreviations}{siunitx} +\PassOptionsToPackage{european,EFvoltages,straightvoltages,betterproportions}{circuitikz} +%% title matters ---------------------------------------------------------------------------------- \newcommand*{\@titlehead}{}% \newcommand{\titlehead}[1]{\gdef\@titlehead{#1}}% \newcommand*{\@subject}{}% @@ -63,51 +95,40 @@ \newcommand{\professor}[1]{\gdef\@professor{#1}}% \newcommand*{\@keywords}{}% \newcommand{\keywords}[1]{\gdef\@keywords{#1}}% +\let\@author\@empty +\let\@keywords\@empty \InputIfFileExists{personal.tex}{ - \ClassInfo{\myClassName}{personal.tex was found. Using it...} + \ClassInfo{\myClassName}{personal.tex was found. Using it...} }{ - \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourself} + \ClassInfo{\myClassName}{no personal.tex! Configre the titlepage yourself} } -% enforced options for packages -\PassOptionsToPackage{utf8}{inputenc} -\PassOptionsToPackage{T1}{fontenc} -\PassOptionsToPackage{babel, german=quotes}{csquotes} -\PassOptionsToPackage{free-standing-units}{siunitx} -\PassOptionsToPackage{european,EFvoltages,straightvoltages,betterproportions}{circuitikz} - -% used packages: -\RequirePackage{inputenc} % inputencoding, utf8 recomendet -\RequirePackage{fontenc} % outputencoding, T1 recomendet -\RequirePackage{lmodern} % font -\RequirePackage{graphicx} % required for importing images -\RequirePackage{babel} % required for german names -\RequirePackage{amsmath} % a lot of nice Math -\if@german\RequirePackage{ziffer}\fi % german dezimal numbers - -% typesetting indexes upright or standart +%% typesetting indexes upright or standart \def\subinrm#1{\sb{\mathrm{#1}}} {\catcode`\_=13 \global\let_=\subinrm} \mathcode`_="8000 -\newcommand\upsubscripts{\catcode`\_=12 } % the toggle for upright subscripts -\newcommand\normalsubscripts{\catcode`\_=8 } % the toggle for italic subscripts -\upsubscripts % setting upright as default - -% keep compatible -\providecommand{\renewcaptionname}[3]{} +\newcommand\upsubscripts{\catcode`\_=12 } +\newcommand\normalsubscripts{\catcode`\_=8 } +\upsubscripts -% load config at beginning of document +%% load config at beginning of document \AtBeginDocument{ - \makeatletter - \@ifpackageloaded{subfigure}{ - \newcommand{\subfigureautorefname}{\figureautorefname} - } - \InputIfFileExists{config.tex}{ - \ClassInfo{\myClassName}{config.tex was found. Using it...} - }{ - \ClassInfo{\myClassName}{no config.tex!! I hope you configured it yourself.} - } - % provide some usefull commands: - \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} % Makro for vertical lines around absolute values - \makeatother + \makeatletter + \@ifpackageloaded{biblatex}{ + \renewcommand*{\mkbibacro}[1]{\MakeUppercase{#1}} + }{} + \@ifpackageloaded{subfigure}{ + \newcommand{\subfigureautorefname}{\figureautorefname} + }{} + \InputIfFileExists{config.tex}{ + \ClassInfo{\myClassName}{config.tex was found. Using it...} + }{ + \ClassInfo{\myClassName}{no config.tex!! I hope you configered it yourself.} + } + %% provide some usefull commands: + \providecommand{\abs}[1]{\ensuremath{\left\vert#1\right\vert}} + \makeatother } +\endinput +%% +%% End of file `HsH-standalone.cls'. diff --git a/src/config.tex b/src/config.tex index 9f899a5d7889d316a1df2cdedbd09fda2ca31cf4..f877076a075773beb9adaa3d05a884d668317a80 100644 --- a/src/config.tex +++ b/src/config.tex @@ -1,106 +1,88 @@ -% abbreviations for names: -\if@german - \renewcommand{\abstractname}{Abstract} % Abstract - \renewcaptionname{ngerman}{\figurename}{Abb.} %Figure - \renewcaptionname{ngerman}{\tablename}{Tab.} %Table -\else - \renewcaptionname{english}{\figurename}{Fig.} %Figure - \renewcaptionname{english}{\tablename}{Tab.} %Table -\fi - -% center all floats: -\ifx\KOMAScriptVersion\undefined\else % check if KOMA is used - \g@addto@macro\@floatboxreset\centering % center all floats - \setcapwidth[c]{0.8\textwidth} % center all captions - %\setcapwidth[l]{0.8\textwidth} % leftalign all captions -\fi - -% Meta Data for the PDF file using values from personal.tex: +%% Meta Data for the PDF file \@ifpackageloaded{hyperref}{ - \hypersetup{ - pdfinfo={ - Title={\@title}, - Author={\@author}, - Subject={\@subject}, - Keywords={\@keywords} - } - } -}{}% -% configs for optional packages: + \hypersetup{ + pdfinfo={ + Title={\@title}, + Author={\@author}, + Subject={\@subject}, + Keywords={\@keywords} + } + } +} +%% configs for optional packages: \@ifpackageloaded{biblatex}{ - \ExecuteBibliographyOptions{ - bibwarn=true, - url=true, - isbn=false, - } -}{}% + \ExecuteBibliographyOptions{ + bibwarn=true, + url=true, + isbn=false, + } +}{} \@ifpackageloaded{siunitx}{ - \if@german % if german - \sisetup{output-decimal-marker={,}} % use comma as dezimal - \fi - \sisetup{ - tight-spacing=true, - per-mode=symbol, - scientific-notation=engineering, - % exponent-to-prefix, % use this instead of sci-notatio - round-mode = places, % round numbers - round-precision = 3, % to 3 places - } -}{}% + \if@german + \sisetup{output-decimal-marker={,}} % use comma as dezimal + \fi + \sisetup{ + tight-spacing=true, + per-mode=symbol, + scientific-notation=engineering, + %exponent-to-prefix, % use this instead of sci-notatio + round-mode = places, % round numbers + round-precision = 3, % to 3 places + } +}{} \@ifpackageloaded{listings}{ - \lstset{ - commentstyle=\color{gray}, - keywordstyle=\color{red}, - stringstyle=\color{blue}, - showstringspaces=false, - basicstyle=\ttfamily, - tabsize=4, - literate={Ö}{{\"O}}1{Ä}{{\"A}}1{Ü}{{\"U}}1{ß}{{\ss}}1{ü}{{\"u}}1{ä}{{\"a}}1{ö}{{\"o}}1, - escapeinside={(*@}{@*)}, - } -}{}% + \lstset{ + commentstyle=\color{gray}, + keywordstyle=\color{red}, + stringstyle=\color{blue}, + showstringspaces=false, + basicstyle=\ttfamily, + tabsize=4, + literate={Ö}{{\"O}}1{Ä}{{\"A}}1{Ü}{{\"U}}1{ß}{{\ss}}1{ü}{{\"u}}1{ä}{{\"a}}1{ö}{{\"o}}1, + escapeinside={(*@}{@*)}, + } +}{} \@ifpackageloaded{enumitem}{ - \usepackage{amssymb} - \newlist{checklist}{itemize}{2} - \setlist[checklist]{label=$\square$} -}{}% + \newlist{checklist}{itemize}{2} + \setlist[checklist]{label=$\square$} +}{} \@ifpackageloaded{csvsimple}{ - \csvstyle{every csv}{separator=semicolon} -}{}% + \csvstyle{every csv}{separator=semicolon} % global seperator for csv files +}{} \@ifpackageloaded{circuitikz}{ - \ctikzset{ - font=\footnotesize, - bipole annotation style/.style={font=\tiny ,inner sep=1pt}, - } -}{}% + \ctikzset{ + font=\footnotesize, + bipole annotation style/.style={font=\tiny ,inner sep=1pt}, + } +}{} \@ifpackageloaded{pgfplots}{ - \usepgfplotslibrary{fillbetween} % mark areas under or between graphs - \usetikzlibrary{patterns} % for using pattern in plots - \if@german - \pgfplotsset{/pgf/number format/use comma} - \fi - \pgfplotsset{ - compat=1.16, - /pgf/number format/read comma as period, - every tick label/.append style={font=\tiny}, - every axis legend/.append style={font=\footnotesize}, - MyPlots/.style = { % Style für alle Plots - width=.6\textwidth, - grid=major, % Gitter für haupt Ticks - grid style={dashed,gray!50}, % Hintergrund Gitter - legend pos=outer north east, % Position der Legende - FM1/.style = {blue, thick, mark=x, mark size=1.5,samples=100}, % Format 1 - FM2/.style = {orange, thick, mark=*, mark size=1,samples=100}, % Format 2 - FM3/.style = {green, thick, mark=square*, mark size=1,samples=100}, % Format 3 - FM4/.style = {red, thick, mark=diamond*, mark size=1,samples=100}, % Format 4 - FM5/.style = {pink, thick, mark=triangel*, mark size=1,samples=100},% Format 5 - errBars/.style = {error bars/.cd, y dir=both, y explicit, % ermöglicht Fehlerbalken - error mark options={mark size=1pt,rotate=90}}, - } - } -}{}% + \usepgfplotslibrary{fillbetween} % mark areas under or between graphs + \usetikzlibrary{patterns} % for using pattern in plots + \if@german + \pgfplotsset{/pgf/number format/use comma} + \fi + \pgfplotsset{ + compat=1.16, + /pgf/number format/read comma as period, + every tick label/.append style={font=\tiny}, + every axis legend/.append style={font=\footnotesize}, + MyPlots/.style = { % Style for all plots + width=.6\textwidth, + grid=major, + grid style={dashed,gray!50}, + legend pos=outer north east, + FM1/.style = {blue, thick, mark=x, mark size=1.5,samples=100}, % Format 1 + FM2/.style = {orange, thick, mark=*, mark size=1,samples=100}, % Format 2 + FM3/.style = {green, thick, mark=square*, mark size=1,samples=100}, % Format 3 + FM4/.style = {red, thick, mark=diamond*, mark size=1,samples=100}, % Format 4 + FM5/.style = {pink, thick, mark=triangel*, mark size=1,samples=100},% Format 5 + errBars/.style = {error bars/.cd, y dir=both, y explicit, % ermöglicht Fehlerbalken + error mark options={mark size=1pt,rotate=90}}, + } + } +}{} \@ifpackageloaded{pgfplotstable}{ - \pgfplotstableset{ - col sep=semicolon, % global seperator for csv files - } -}{}% + \pgfplotstableset{ + col sep=semicolon, % global seperator for csv files + } +}{}