\NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{vl-arbeitsanweisung} [2018/05/15 v1.0a Dokumentenklasse (RN/PTB)] \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} \ProcessOptions\relax \PassOptionsToPackage{headinclude,usegeometry}{typearea} \LoadClass[% ,twoside ,fontsize=12pt% ??? ,headings=small ,toc=bibliographynumbered ,captions=oneline ,captions=tableheading %,origlongtable ]{scrartcl} \RequirePackage[% paper=a4paper, headheight=16mm, marginparsep=2mm, marginparwidth=12mm, inner=22mm, %right=16mm, textwidth=172mm,% 172+22+16=210 textheight=228mm, top=20bp, headsep=10mm, footskip=25mm, ]{geometry} \setlength{\footheight}{18.5pt} \renewcommand*\maketitle[1][1]{% \begingroup \centering \noindent\usekomafont{title} \Large \@title \par \bigskip\medskip \endgroup } \RequirePackage[main=ngerman,english]{babel} \RequirePackage{tabularx} \RequirePackage{graphicx} \let\ptb@endtabularx=\TX@endtabularx \RequirePackage{xltabular} \RequirePackage{amsmath,threeparttable,tabto,grffile} \RequirePackage{pdflscape,picture,trimspaces,url,varwidth,placeins} \RequirePackage{zref-totpages,booktabs,array,pdfpages} \RequirePackage{longtable,siunitx,ragged2e,ifxetex,ifluatex,relsize} \keepXColumns \RequirePackage{siunitx-PTB} \let\ptb@tempdima=\@clnwd \let\ptb@tempdimb=\@clnht \let\ptb@tempdimc=\@dashdim \newcommand*\ptb@Devision{} \newcommand*\ptb@Department{} \newcommand*\ptb@WorkingGroup{} \newcommand*\ptb@Object{} \newcommand*\ptb@Ident{} \newcommand*\ptb@Edition{} \newcommand*\ptb@Date{} \newcommand*\ptb@tempa{0} \ifxetex \def\ptb@tempa{1}% \else \ifluatex \def\ptb@tempa{1}% \fi \fi \ifcase\ptb@tempa % pdfTeX \input{vl-aa-old-engines.clo} \or % XeTeX oder luaTeX \input{vl-aa-new-engines.clo} \fi \RequirePackage[ ,final=true ,babel=true ]{microtype} \RequirePackage[autostyle=true,babel=once,german=guillemets,maxlevel=3]{csquotes}% \defineshorthand{"`}{\openautoquote}% \defineshorthand{"'}{\closeautoquote}% \MakeAutoQuote{»}{«}% Alt Gr + y / Alt Gr + x \MakeAutoQuote{„}{“}% Alt Gr + v / Alt Gr + b \newcommand*\Devision[1]{\xdef\ptb@Devision{\trim@spaces{#1}}} \newcommand*\Department[1]{\xdef\ptb@Department{\trim@spaces{#1}}} \newcommand*\WorkingGroup[1]{\xdef\ptb@WorkingGroup{\trim@spaces{#1}}} \newcommand*\Object[1]{\xdef\ptb@Object{\trim@spaces{#1}}} \newcommand*\Edition[1]{\xdef\ptb@Edition{\trim@spaces{#1}}} \RequirePackage{tocstyle} \usetocstyle{allwithdot} \settocfeature{raggedhook}{\raggedright}% verhindert auch Trennung \settocfeature{pagenumberbox}{\makebox[1.5em][r]} \settocfeature{entryhook}{\overfullrule=\z@} \BeforeStartingTOC[toc]{\microtypesetup{protrusion=false}} \AfterStartingTOC[toc]{\microtypesetup{protrusion=true}} \addtokomafont{caption}{\small} \addtokomafont{captionlabel}{\bfseries\sffamily} \setcapindent{1em} \AtBeginDocument{% \edef\ptb@Ident{\ptb@Department-AA-\ptb@Object}% \edef\ptb@Date{\@date}% \date{}% } \newcommand*\ptb@rulewidth{.4mm} \newcolumntype{C}{>{\centering\arraybackslash}X} \newcolumntype{R}{>{\RaggedRight\arraybackslash}X} \newcommand\varbox[2][\linewidth]{% \begin{varwidth}{#1}\nointerlineskip\strut#2\strut\end{varwidth}\strut} \newcommand\varboxC[2][\linewidth]{\varbox[#1]{\Centering#2}} \newcommand*\ptb@head@even{% \begin{picture}(0,0) \linethickness{\ptb@rulewidth}% \put(0,-2.5mm){\line(1,0){\textwidth}}% \end{picture} \normalfont\sffamily\bfseries\large PTB\hfill Qualit\"atsmanagement-Arbeitsanweisung\hfill\ptb@Ident } \newcommand*\ptb@head@odd{% \begin{picture}(0,0) \linethickness{\ptb@rulewidth}% \put(0,-2.5mm){\line(1,0){\textwidth}}% \end{picture} \normalfont\sffamily\bfseries\large \ptb@Ident \hfill Qualit\"atsmanagement-Arbeitsanweisung \hfill PTB } \newcommand*\ptb@first@foot{% \raisebox{-4bp}[0pt][0pt]{% \begingroup \let\TX@endtabularx=\ptb@endtabularx \normalfont\sffamily\tiny\extrarowheight=.3\baselineskip \arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt % \renewcommand\tabularxcolumn[1]{m{##1}}% \begin{tabularx}{\textwidth}[b]{@{}|C|C|C|c|c|c|@{}} \firsthline \varboxC{Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department \\ AG~\ptb@WorkingGroup} & \varboxC{Geprüft: \\ Leiter~\ptb@Department \\~} & \varboxC{Genehmigt: \\ QMV-\ptb@Devision \\~} & \varboxC{Ausgabe-Nr.: \\ \ptb@Edition\\~} & \varboxC{Kurzbezeichnung: \\ \ptb@Ident\\~} & \varboxC{Seite von Seiten \\ \thepage~von \ztotpages\\~} \tabularnewline &&&&& \tabularnewline &&&&& \tabularnewline am:~\dotfill & am:~\dotfill & am:~\dotfill & && \tabularnewline \lasthline \end{tabularx}% \endgroup }% } \newcommand*\ptb@foot@even{% \begingroup \let\TX@endtabularx=\ptb@endtabularx \normalfont\sffamily\tiny\extrarowheight=.3\baselineskip \arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt % \renewcommand*\tabularxcolumn[1]{m{##1}}% \begin{tabularx}{\textwidth}[b]{@{}|C|C|C|C|C|@{}} \firsthline \varboxC{Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department} & \varboxC{Ausgabe-Nr.: \\ \ptb@Edition} & \varboxC{Datum: \\ \ptb@Date} & \varboxC{Kurzbezeichnung: \\ \ptb@Ident} & \varboxC{Seite von Seiten \\ \thepage~von \ztotpages} \tabularnewline \lasthline \end{tabularx}% \endgroup } \newcommand*\ptb@foot@odd{% \begingroup \let\TX@endtabularx=\ptb@endtabularx \normalfont\sffamily\tiny\extrarowheight=.3\baselineskip \arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt % \renewcommand*\tabularxcolumn[1]{m{##1}}% \begin{tabularx}{\textwidth}[b]{@{}|C|C|C|C|C|@{}} \firsthline \varboxC{Seite von Seiten \\ \thepage~von \ztotpages} & \varboxC{Kurzbezeichnung: \\ \ptb@Ident} & \varboxC{Datum: \\ \ptb@Date} & \varboxC{Ausgabe-Nr.: \\ \ptb@Edition} & \varboxC{Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department} \tabularnewline \lasthline \end{tabularx}% \endgroup } \RequirePackage[manualmark,draft=false]{scrlayer-scrpage} \pagestyle{scrheadings} \clearpairofpagestyles \cehead{\ptb@head@even} \cohead{\ptb@head@odd} \cefoot{\ptb@foot@even} \cofoot{\ifnum\c@page=\@ne\ptb@first@foot\else\ptb@foot@odd\fi} \setkomafont{pageheadfoot}{\normalfont\normalsize} % Kompaktere Listen \RequirePackage{enumitem} \setlist{leftmargin=*} \setlist[1]{labelindent=1em} \renewcommand{\floatpagefraction}{.9} \renewcommand{\textfraction}{.1} \renewcommand{\topfraction}{.9} \renewcommand{\bottomfraction}{.5} \setcounter{topnumber}{3} \setcounter{bottomnumber}{1} \setcounter{totalnumber}{5} \renewcommand{\dbltopfraction}{.8} \renewcommand{\dblfloatpagefraction}{.6} % Einzelne Abbildungen nicht auf dem leeren Blatt zentrieren. \@fptop=0pt % % TODO: nach siunitx-PTB.sty ??? \sisetup{% Formatierung von Maßzahlen (z.B. Spaltentyp "S" in Tabellen) ,retain-zero-exponent=true ,retain-unity-mantissa=true ,add-decimal-zero=true ,add-integer-zero=true ,zero-decimal-to-integer=false } \addtokomafont{title}{\sisetup{detect-weight=true, detect-family=true}} \addtokomafont{disposition}{\sisetup{detect-weight=true, detect-family=true}} \RedeclareSectionCommand[ ,tocindent=3em ,tocnumwidth=3.5em ]{section} \RequirePackage{marginnote} \DeclareRobustCommand\note{% % Normalform = Horizontale Notiz; % #1 = vertikale Verschiebung (ohne Einheit: Anzahl Zeilen) % Sternform = Um 90 Grad gedrehte Notiz; % #1 = Breite (ohne Einheit: Anzahl mm, ohne Angabe: 3\marginparwidth) \@ifstar{\@tempswatrue\note@i}{\@tempswafalse\note@i}% } \newcommand*\note@i[1][\z@]{% \note@ii[#1]% } \newcommand*\note@ii{} \def\note@ii[#1]#2{% \begingroup{} \if@tempswa \unitlength=1mm\relax \else \unitlength=\baselineskip \fi \@ovro#1\unitlength \if@tempswa \@ovri=\ifdim\@ovro=\z@ 3\marginparwidth\else\@ovro\fi \@ovro=\z@ \def\x{\rotatebox[origin=c]{90}{\makebox[0pt][c]{% \parbox{\@ovri}{\baselineskip=0pt\RaggedRight\hspace{0pt}#2}}}}% \else \def\x{\baselineskip=0pt\RaggedRight\hspace{0pt}#2}% \fi \overfullrule=\z@ \marginnote{\x}[\@ovro]% \endgroup \ignorespaces% problematisch! } % Für Parameter #1 Angabe mit und ohne Einheit ermöglichen. \picture@redefine\note@ii{[&1]} \renewcommand*\marginfont{\normalfont\normalsize\itshape\color{red}} \emergencystretch=3em % \raggedbottom \AtBeginDocument{\setkeys{Gin}{draft=false}} \RequirePackage{nameref} \RequirePackage[final]{hyperref} \endinput