From dcf129a853f09aecd4cc27c52da59d3289799cb8 Mon Sep 17 00:00:00 2001 From: Rolf Niepraschk <Rolf.Niepraschk@ptb.de> Date: Wed, 20 Nov 2024 12:11:12 +0100 Subject: [PATCH] Neue Option "DS"="Digital Sealing"; Vereinfachung --- IK-2019.clo | 13 ----- KK-2019.clo | 17 ------- kalibrierschein.cls | 37 ++++---------- ks-common.clo | 114 ++++++++++++++++++++++++++++++++++---------- 4 files changed, 98 insertions(+), 83 deletions(-) delete mode 100644 IK-2019.clo delete mode 100644 KK-2019.clo diff --git a/IK-2019.clo b/IK-2019.clo deleted file mode 100644 index db52aac..0000000 --- a/IK-2019.clo +++ /dev/null @@ -1,13 +0,0 @@ - -\ProvidesFile{IK-2019.clo}[2019/03/07 v1.0d IK class option (RN/PTB)] - -% Interne Kalibrierung - -\newcommand*\ks@nationalEmblem{\includegraphics[width=62bp]{Adler.pdf}} - -\newcommand*\ks@first@signature{} -\newcommand*\ks@first@signature@content{} - -\endinput -%% -%% End of file `IK-2019.clo'. diff --git a/KK-2019.clo b/KK-2019.clo deleted file mode 100644 index ad88285..0000000 --- a/KK-2019.clo +++ /dev/null @@ -1,17 +0,0 @@ - -\ProvidesFile{KK-2019.clo}[2020/10/13 v1.0e KK class option (RN/PTB)] - -% Kundenkalibrierung - -\newcommand*\ks@nationalEmblem{\includegraphics[width=62bp]{Adler.pdf}} -\newcommand*\ks@first@signature{% - \put(\ks@tempdima,\ks@tempdimb){Im Auftrag}% - \put(\ks@tempdima,\ks@tempdimc){\scriptsize\itshape On behalf of PTB}% -} -\newcommand*\ks@first@signature@content{% - \put(\ks@tempdima,\ks@tempdimb){\ks@byOrder}% -} - -\endinput -%% -%% End of file `KK-2019.clo'. diff --git a/kalibrierschein.cls b/kalibrierschein.cls index 38796fe..9bb2d3b 100644 --- a/kalibrierschein.cls +++ b/kalibrierschein.cls @@ -1,7 +1,7 @@ \RequirePackage{iftex} -\iftutex\else% any 8-bit-TeX engine +\iftutex\else% one of the UTF8-compatible engines \@latex@error{works only with `LuaLaTeX' or `XeLaTeX'}{% type:\MessageBreak lualatex \jobname.tex\MessageBreak @@ -14,45 +14,30 @@ \setcounter{errorcontextlines}{100} \RequirePackage{ifdraft} \newcommand*\ks@location{Berlin} -\newcommand*\ks@kalType{KK} \newcommand*\ks@layout{-2019}% derzeit nicht variabel \newcommand*\ks@langs{ngerman,main=english} \newif\ifnoCMC \noCMCfalse +\newif\ifDigitalSealing \DigitalSealingfalse +\newif\ifKK \KKtrue \newif\iftestreport \testreportfalse \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesClass{kalibrierschein} - [2024/05/02 v0.7b documentclass PTB `Kalibrierschein' (RN/PTB)] + [2024/11/20 v0.8a documentclass PTB `Kalibrierschein' (RN/PTB)] \DeclareOption{BS}{\def\ks@location{Braunschweig}} \DeclareOption{BLN}{\def\ks@location{Berlin}} -\DeclareOption{KK}{\edef\ks@kalType{\CurrentOption}} -\DeclareOption{IK}{\edef\ks@kalType{\CurrentOption}} -%\DeclareOption{2015}{\edef\ks@layout{-\CurrentOption}} +\DeclareOption{KK}{\KKtrue} +\DeclareOption{IK}{\KKfalse} \DeclareOption{german}{\def\ks@langs{english,main=ngerman}} \DeclareOption{ngerman}{\def\ks@langs{english,main=ngerman}} \DeclareOption{de}{\def\ks@langs{english,main=ngerman}} \DeclareOption{english}{\def\ks@langs{ngerman,main=english}} \DeclareOption{en}{\def\ks@langs{ngerman,main=english}} \DeclareOption{noCMC}{\noCMCtrue} +\DeclareOption{DS}{\DigitalSealingtrue} \DeclareOption{testreport}{\testreporttrue} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} \ProcessOptions\relax -\PassOptionsToPackage{paper=a4,pagesize,twoside=false,headinclude} - {typearea} - -%Setze die richtige Kennung je nach CMC / Test Report -\iftestreport - \ifnoCMC - \newcommand*\ks@doc@style@code{393 03A m}% Kennung der Word-Vorlage - \else - \newcommand*\ks@doc@style@code{393 03B o}% Kennung der Word-Vorlage - \fi -\else - \ifnoCMC - \newcommand*\ks@doc@style@code{391 00A p}% Kennung der Word-Vorlage - \else - \newcommand*\ks@doc@style@code{391 00B q}% Kennung der Word-Vorlage - \fi -\fi +\PassOptionsToPackage{paper=a4,pagesize,twoside=false,headinclude}{typearea} \LoadClass[% ,fontsize=11pt @@ -113,7 +98,7 @@ footskip=0bp, \def\tiny{\@setfontsize\tiny\@viipt\@viiipt} \let\ks@titelpagefont=\normalsize -\RequirePackage{textcomp}% ??? +%\RequirePackage{textcomp}% ??? \RequirePackage{url,array,xltabular} @@ -138,8 +123,6 @@ footskip=0bp, \newcommand*\ks@PTB{Physikalisch-Technische Bundesanstalt} \newcommand*\ks@BSuB{Braunschweig und Berlin} -\RequirePackage{picture}% TODO: noch nötig? - \newdimen\ks@tempdima \newdimen\ks@tempdimb \newdimen\ks@tempdimc @@ -209,7 +192,7 @@ footskip=0bp, \definecolor{PTBcolor}{RGB}{0,155,206}% TODO: Besser CMYK? \input{ks-common.clo}% Titelseiten- und Layout-Definition -\input{\ks@kalType\ks@layout.clo}% Titelseiten- und Layout-Definition +%%%\input{\ks@kalType\ks@layout.clo}% Titelseiten- und Layout-Definition \newcommand*\ks@type{% Typ des Ger\"ates} diff --git a/ks-common.clo b/ks-common.clo index 0ece938..92e2175 100644 --- a/ks-common.clo +++ b/ks-common.clo @@ -1,7 +1,30 @@ -\ProvidesFile{ks-common.clo}[2023/07/04 v0.7a common class option (RN/PTB)] +\ProvidesFile{ks-common.clo}[2024/11/20 v0.8a common class option (RN/PTB)] -%%% Definitionen, die ab 2019 gültig sind. +\newcommand*\ks@nationalEmblem{\includegraphics[width=62bp]{Adler.pdf}} + +% Kennung je nach CMC / Test Report +\iftestreport + \ifnoCMC + \newcommand*\ks@doc@style@code{393 03A m}% Kennung der Word-Vorlage + \else + \newcommand*\ks@doc@style@code{393 03B o}% Kennung der Word-Vorlage + \fi +\else + \ifDigitalSealing + \ifnoCMC + \newcommand*\ks@doc@style@code{391 01A}% Kennung der Word-Vorlage + \else + \newcommand*\ks@doc@style@code{391 01B}% Kennung der Word-Vorlage + \fi + \else + \ifnoCMC + \newcommand*\ks@doc@style@code{391 00A p}% Kennung der Word-Vorlage + \else + \newcommand*\ks@doc@style@code{391 00B q}% Kennung der Word-Vorlage + \fi + \fi +\fi % Wird per \AddToShipoutPicture absolut auf der Seite positioniert. \newcommand*\ks@printFirstPage{% @@ -31,8 +54,8 @@ %------------- Fuss ------------ \normalfont\scriptsize \put(68,86){\parbox[t]{\textwidth}{% - \iftestreport - Prüfberichte ohne Unterschrift und Siegel haben keine G\"ultigkeit. + \iftestreport + Prüfberichte ohne Unterschrift und Siegel haben keine G\"ultigkeit. Dieser Prüfbericht darf nur unver\"andert weiterverbreitet\\ werden. Ausz\"uge bed\"urfen der Genehmigung der Physikalisch-Technischen Bundesanstalt. @@ -45,27 +68,44 @@ Physikalisch-Technische Bundesanstalt. The presented results relate only to\\ the items tested. - % - \else% - % - Kalibrierscheine ohne Unterschrift und Siegel haben keine G\"ultigkeit. - Dieser Kalibrierschein darf nur unver\"andert weiterverbreitet\\ - werden. Ausz\"uge bed\"urfen der Genehmigung der - Physikalisch-Technischen Bundesanstalt. - Die dargestellten Ergebnisse beziehen\\ - sich nur auf die kalibrierten Gegenstände.\\[.2ex] - \normalfont\itshape - Calibration certificates without signature and seal are not valid. - This calibration certificate may not be reproduced other than in - full. \\ Extracts may be taken only with permission of the - Physikalisch-Technische Bundesanstalt. - The presented results relate only to\\ - the items calibrated. - \fi + % + \else% + % + \ifDigitalSealing + Dieser Kalibrierschein wurde automatisiert erstellt und ist ohne + Unterschrift wirksam. Dieser Kalibrierschein darf nur unverändert + weiterver\-breitet werden. Auszüge bedürfen der Genehmigung der + Physikalisch-Technischen Bundesanstalt. Die dargestellten Ergebnisse + beziehen\\ + sich nur auf die kalibrierten Gegenstände.\\[.2ex] + \normalfont\itshape + This is a computer-generated Calibration Certificate. No signature is + required. This Calibration Certificate may not be reproduced other\\ + than in full. Extracts may be taken only with the permission of the + Physikalisch-Technische Bundesanstalt. The presented results relate\\ + only to the items calibrated. + \else + Kalibrierscheine ohne Unterschrift und Siegel haben keine G\"ultigkeit. + Dieser Kalibrierschein darf nur unver\"andert weiterverbreitet\\ + werden. Ausz\"uge bed\"urfen der Genehmigung der + Physikalisch-Technischen Bundesanstalt. + Die dargestellten Ergebnisse beziehen\\ + sich nur auf die kalibrierten Gegenstände.\\[.2ex] + \normalfont\itshape + Calibration certificates without signature and seal are not valid. + This calibration certificate may not be reproduced other than in + full. \\ Extracts may be taken only with permission of the + Physikalisch-Technische Bundesanstalt. + The presented results relate only to\\ + the items calibrated. + \fi + \fi }} } } +% TODO: Bei Positionierung nur absolute Zahlen verwenden (?). + \newcommand\ks@put@main{% \normalfont\ks@titelpagefont \ks@tempdima=68bp % @@ -140,18 +180,40 @@ \advance\ks@tempdimb-30bp % %%%\ks@tempdimb=204bp % \ks@tempdimc=\ks@tempdimb \advance\ks@tempdimc-10bp % - \ks@first@signature + % First signature + \ifKK + \put(\ks@tempdima,\ks@tempdimb){Im Auftrag}% + \put(\ks@tempdima,\ks@tempdimc){\scriptsize\itshape On behalf of PTB}% + \fi \put(\ks@tempdimd,\ks@tempdimb){\ks@location, \ks@certificateDate} \put(\ks@tempdime,\ks@tempdimb){Im Auftrag} \put(\ks@tempdime,\ks@tempdimc){\scriptsize\itshape On behalf of PTB} \advance\ks@tempdimb-24bp % \ks@tempdimc=\ks@tempdimb \advance\ks@tempdimc-10bp % - \put(\ks@tempdimd,\ks@tempdimb){Siegel} - \put(\ks@tempdimd,\ks@tempdimc){\scriptsize\itshape Seal} + \ifDigitalSealing + \begingroup + \linethickness{2bp}% + \put(209bp,112bp){% + \framebox(294bp,50bp){} + } + \endgroup + \else + \put(\ks@tempdimd,\ks@tempdimb){Siegel} + \put(\ks@tempdimd,\ks@tempdimc){\scriptsize\itshape Seal} + \fi %-------------------------------- \advance\ks@tempdimb-40bp % - \ks@first@signature@content - \put(\ks@tempdime,\ks@tempdimb){\ks@examiner} + % First signature content + \ifKK + \ifDigitalSealing + \put(\ks@tempdima,183bp){\ks@byOrder}% + \put(\ks@tempdime,183bp){\ks@examiner} + \else + \put(\ks@tempdima,\ks@tempdimb){\ks@byOrder}% + \put(\ks@tempdime,\ks@tempdimb){\ks@examiner} + \fi + \fi + %-------------------------------- \put(46bp,256bp){\rotatebox[origin=c]{90}{\tiny \ks@doc@style@code}} } -- GitLab