Skip to content
Snippets Groups Projects
Commit d92f937c authored by Rolf Niepraschk's avatar Rolf Niepraschk
Browse files

Verbereitung KS-Version 2019 (1)

parent fe6c6ee8
Branches
No related tags found
No related merge requests found
File added
%---------------------------+-
\listfiles
\documentclass[en,KK,2015]{kalibrierschein-2019}
\missingEntries{ 0 }
\object{ Helium Leak }
\manufacturer{ Inficon }
\type{ Permeation TL8 16557 }
\serialNo{ 90001065998 }
\applicant{
{ National Institute of Metrology \\Laboratorul Presiuni }
{ Sos. Vitan Barzesti. nr. 11 }
{ }
{ 042122 Bucharest }
}
\refNo{ 7.5-1.8-18-2-2 }
\calibMark{ 75171~PTB~18 }
\calibDate{ 2018-06-18 }
\byOrder{ Dr. K. Jousten }
\examiner{ U. Becker }
\certificateDate{ 2018-06-20 }
\begin{document}
\printFirstPage
\mbox{}\newpage
\mbox{}\newpage
\printLastPage
\end{document}
%---------------------------+-
\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}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{kalibrierschein}
[2019/03/06 v0.4a Dokumentenklasse (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{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*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=a4,pagesize,twoside=false,headinclude}
{typearea}
\newcommand*\ks@doc@style@code{391 00B o}% Kennung der Word-Vorlage
\LoadClass[%
,fontsize=11pt
,headings=small
,numbers=enddot
,parskip=half
]{scrartcl}
\RequirePackage[%
headheight=0bp,
marginparwidth=0pt,
left=69bp,
right=40bp,
textheight=669bp,
top=85bp,
headsep=0bp,
footskip=0bp,
]{geometry}
\raggedbottom % ???
%\RequirePackage{showframe}
\RequirePackage[\ks@langs]{babel}
\RequirePackage[autostyle=true,german=guillemets,maxlevel=3]{csquotes}%
\RequirePackage{iflang}
\IfLanguageName{ngerman}{%
\newcommand*\ks@draftName{Entwurf}%
\AtEndOfClass{\shorthandon{"}}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
}{%
\newcommand*\ks@draftName{Draft}%
}
\MakeAutoQuote{»}{«}
\AtEndOfClass{%
\@ifpackageloaded{inputenc}{}{%
\catcode`=\active
\catcode`=\active
}%
}
%\def\normalsize{...}
\def\huge{\@setfontsize\huge{20.26}{25.3}}
\def\large{\@setfontsize\large{12.17}{14.2}}
\def\tiny{\@setfontsize\tiny\@viipt\@viiipt}
\RequirePackage{textcomp}
\RequirePackage{tabularx}
\let\ks@TX@endtabularx=\TX@endtabularx
\newcommand*\origTabularx{%
\let\TX@endtabularx=\ks@TX@endtabularx
}
\RequirePackage{ltablex}\keepXColumns{}
\setcounter{LTchunksize}{100}
\PassOptionsToPackage{final}{graphicx}
\RequirePackage{eso-pic,graphicx,booktabs}
\RequirePackage{zref-totpages}
\newif\ifXeOrLua \XeOrLuafalse
\RequirePackage{ifxetex,ifluatex,ifpdf}
\ifxetex% XeTeX
\XeOrLuatrue
\else
\ifluatex% LuaTeX
\XeOrLuatrue
\else
\ifpdf% pdfTeX
\else% TeX+dvips
\fi
\fi
\fi
\RequirePackage{amsmath}
\ifXeOrLua% XeLaTeX oder luaLaTeX
\typeout{#### XeLaTeX oder luaLaTeX}
%\RequirePackage[no-math]{fontspec}
\RequirePackage{unicode-math}
\setmainfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic.otf]
\setsansfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic.otf]
\setmathfont{Asana-Math.otf}[math-style=ISO,bold-style=ISO]% damit sind Einheiten kursiv
\setmathfont{texgyreheros-regular.otf}[range=\mathup,Scale=MatchLowercase]
\setmathfont{texgyreheros-italic.otf}[range=\mathit,Scale=MatchLowercase]
\setmathfont{texgyreheros-bold.otf}[range=\mathbfup,Scale=MatchLowercase]
\setmathfont{texgyreheros-bolditalic.otf}[range=\mathbfit,Scale=MatchLowercase]
\setmathfont{texgyreheros-regular.otf}[range=\mathsfup,Scale=MatchLowercase]
\setmathfont{texgyreheros-italic.otf}[range=\mathsfit,Scale=MatchLowercase]
\setmathfont{texgyreheros-bold.otf}[range=\mathbfsfup,Scale=MatchLowercase]
\setmathfont{texgyreheros-bolditalic.otf}[range=\mathbfsfit,Scale=MatchLowercase]
\setmathfont{texgyreheros-regular.otf}[range=\mathpunct]
\setmathfont{Asana-Math.otf}[range=\int]
% (Ulrike): )als letztes immer einen
% richtiger Mathfont, damit diverse Werte korrekt gesetzt werden.
% Wirklich nötig?
\RequirePackage{newunicodechar}
\newunicodechar{^^^^202f}{\,}% 'NARROW NO-BREAK SPACE' (\u202F, 8239)
\newunicodechar{^^^^2009}{\,\hspace{0pt}}% 'THIN SPACE'
\newunicodechar{^^^^00ad}{\-}% 'SOFT HYPHEN'
\newunicodechar{^^^^2207}{{\setmathfont{Asana Math}^^^^2207}}% 'NABLA'
%%% TODO: ^^^^ unschädlich machen für pdflatex
\else
\typeout{#### pdfLaTeX}
\RequirePackage{fix-cm}% ???
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\DeclareUnicodeCharacter{202F}{\,}
\DeclareUnicodeCharacter{2009}{\,\hspace{0pt}}
\DeclareUnicodeCharacter{22C5}{\cdot}
\DeclareUnicodeCharacter{03B8}{\theta}
\RequirePackage[scale=1]{tgheros}
%%%\RequirePackage[scaled=1]{helvet}
\renewcommand*\familydefault{\sfdefault}
%%%\newcommand*\mathfamilydefault{\familydefault}
%%\newcommand*\math@sfdefault{\sfdefault}
\RequirePackage{sfmath}
\fi
\RequirePackage[neverdecrease]{paralist}
\let\itemize\compactitem
\let\enditemize\endcompactitem
\let\enumerate\compactenum
\let\endenumerate\endcompactenum
\let\description\compactdesc
\let\enddescription\endcompactdesc
\pltopsep=\medskipamount
\plitemsep=\smallskipamount
\newcommand*\ks@PTB{Physikalisch-Technische Bundesanstalt}
\newcommand*\ks@BSuB{Braunschweig und Berlin}
\RequirePackage{picture}
\let\@tempdimd=\@clnwd
\let\@tempdime=\@clnht
\let\@tempdimf=\@dashdim
\newcommand*\ks@tempa{}
\newcommand*\ks@tempb{}
\newcommand*\ks@tempc{}
\newcommand*\ks@tempd{}
\newcommand*\ks@tempe{}
\newtoks\ks@tab
\newcommand*\ks@colSpec{}
\newcommand*\ks@add[1]{%
\ks@tab\expandafter{\the\ks@tab#1}%
}
\newcommand*\ks@addTabLine[1]{%
\def\@tempc{}%
\@for\@tempa:=#1\do{%
\edef\@tempb{\noexpand\ks@tab\noexpand\expandafter{%
\the\noexpand\ks@tab\@tempc\@tempa}}%
\@tempb
\def\@tempc{\noexpand&}% \noexpand hier unnötig, aber ...
}%
}
\newcommand*\ks@getColSpec[2]{%
\let#2=\@empty
\@for\@tempa:=#1\do{%
\edef#2{#2X}%
}%
\ifx#2\@empty
%\def#2{l}%
\def#2{X}%
\fi
}
\newcommand*\ks@printDevicesTable[3]{% #1 = width, #2 = 1. offset, #3 = 2. offset
\ks@tab{}%
\ks@getColSpec{\ks@type}{\ks@colSpec}%
\edef\@tempa{\noexpand\begin{tabularx}{#1}[t]{@{}\ks@colSpec @{}}}%
\ks@tab\expandafter{\@tempa}%
\ks@addTabLine{\ks@manufacturer}%
\ks@add{\tabularnewline[#2]}%
\ks@addTabLine{\ks@type}%
\ks@add{\tabularnewline[#3]}%
\ks@addTabLine{\ks@serialNo}%
%%\ks@add{\ks@serialNo}%
%%\ks@addCommaItems{\ks@serialNo}% ???
\ks@add{\end{tabularx}}%
\begingroup
\tabcolsep=1em %
\origTabularx
%\showthe\ks@tab
\the\ks@tab
\endgroup
}
%\RequirePackage[manualmark]{scrpage2}
\RequirePackage[manualmark,draft=false]{scrlayer-scrpage}
\clearpairofpagestyles
\lohead{\ks@head}
\lofoot{\ks@foot}
\definecolor{PTBcolor}{RGB}{0,155,206}
\input{\ks@kalType\ks@layout.clo}% Titelseiten- und Layout-Definition
\newcommand*\ks@type{%
Typ des Ger\"ates}
\newcommand*\type[1]{\xdef\ks@type{\trim@spaces{#1}}}
\newcommand*\ks@manufacturer{Namen der Hersteller}
\newcommand*\manufacturer[1]{%
\xdef\ks@manufacturer{\trim@spaces{\detokenize{#1}}}%
}
\newcommand*\ks@object{%
Name des Ger\"ates, kurze Charakterisierung}
\newcommand*\object[1]{\xdef\ks@object{\trim@spaces{#1}}}
\newcommand*\ks@applicant{%
Name des Auftraggebers, Stra\ss e, Firmensitz}
\newcommand*\applicant[1]{\long\gdef\ks@applicant{#1}}
\newcommand*\ks@serialNo{XXX,YYY}
\newcommand*\serialNo[1]{%
\xdef\ks@serialNo{\trim@spaces{\detokenize{#1}}}%
}
\newcommand*\ks@refNo{YYY-ZZZZZZZZ}
\newcommand*\refNo[1]{\xdef\ks@refNo{\trim@spaces{#1}}}
\newcommand*\ks@calibMark{YYY-XXXXXXX}
\newcommand*\calibMark[1]{\xdef\ks@calibMark{\trim@spaces{#1}}}
\newcommand*\ks@referenceMark{YYY-XXXXXXX}
\newcommand*\referenceMark[1]{\xdef\ks@referenceMark{\trim@spaces{#1}}}
\newcommand*\ks@calibDate{????-??-??}
\newcommand*\calibDate[1]{\xdef\ks@calibDate{\trim@spaces{#1}}}
\newcommand*\ks@certificateDate{????-??-??}
\newcommand*\certificateDate[1]{\xdef\ks@certificateDate{\trim@spaces{#1}}}
\newcommand*\ks@byOrder{Peter Silie}
\newcommand*\byOrder[1]{\xdef\ks@byOrder{\trim@spaces{#1}}}
\newcommand*\ks@examiner{Ellen Bogen}
\newcommand*\examiner[1]{\xdef\ks@examiner{\trim@spaces{#1}}}
\newcommand*\ks@missingEntries{1}
\newcommand*\missingEntries[1]{\xdef\ks@missingEntries{\trim@spaces{#1}}}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\RequirePackage{siunitx-PTB}
\newcommand\resultTable[3][]{%
%\begingroup
\@tempcnta=#2 %
\@tempcntb=\numexpr(\@tempcnta-1)*2 %
\@tempdimc=\dimexpr (\textwidth - \@tempcntb\tabcolsep) / \@tempcnta %
\@tempcntb=\@tempcnta
\def\@tempa{}%
\loop\ifnum\@tempcnta>\z@
%%%\edef\@tempa{\@tempa S[table-column-width=\the\@tempdimc]}% ???
\edef\@tempa{\@tempa r}%
\advance\@tempcnta\m@ne
\repeat
\edef\@tempa{\noexpand\begin{longtable}{@{}\@tempa @{}}}%
\expandafter\ks@add\expandafter{\@tempa}%
\ks@add{\\\toprule}%
\ifx\relax#1\relax\else
\ks@add{\multicolumn{\the\@tempcntb}{@{}c@{}}{#1}\\\toprule}%
\fi
\ks@add{#3}%
\ks@add{\bottomrule\end{longtable}}%
%\endgroup
}
\newcommand*\printFirstPage{%
\thispagestyle{empty}%
\AddToShipoutPicture*{\ks@printFirstPage}%
\mbox{}\clearpage
\global\let\ks@printFirstPage\@empty
\global\let\printFirstPage\@empty
}
\newcommand*\ks@@foot{}
\newcommand*\printLastPage{%
\clearpage
\global\let\ks@@foot=\ks@foot@add
\ks@lastPage
}
\newcommand*\printResultTable{%
\begingroup
\LTleft=\fill \LTright=\fill% Tabelle zentriert
\sisetup{%
retain-zero-exponent
}%
\the\ks@tab
\endgroup
}
\newcommand*\ks@applicant@table{%
\begingroup
\let\ks@tempa=\\%
\let\\=\relax
\ks@tab{}%
\expandafter\@tfor\expandafter\ks@tempb\expandafter
:\expandafter=\ks@applicant\do{%
\expandafter\edef\expandafter\ks@tempb\expandafter{%
\expandafter\trim@spaces\expandafter{\ks@tempb}}%
\ifx\ks@tempb\@empty\else
\expandafter\ks@add\expandafter{\ks@tempb\tabularnewline}%
\fi
}%
\let\\=\ks@tempa
\extrarowheight=-.1ex %
\begin{tabular}[t]{@{}l@{}}%
\the\ks@tab
\end{tabular}%
\endgroup
}
\AtBeginDocument{
\ifdraft{
\AddToShipoutPictureBG{%
\AtTextCenter{%
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
\rotatebox{54.7}{%
\textnormal{\textsf{\textbf{%
\color{lightgray}\ks@draftName}}}}}}%
}%
}%
}{%
\ifnum\number\ks@missingEntries>0 %
\AddToShipoutPictureBG{%
\AtTextCenter{%
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
\rotatebox{54.7}{%
\textnormal{\textsf{\textbf{%
\color{lightgray}Fehler:~\ks@missingEntries}}}}}}%
}%
}%
\fi
}
}
\RequirePackage[
% factor=1500
% ,verbose=true
,final=true
% ,letterspace=100
,babel=true
]{microtype}
\emergencystretch=1em %
\pagestyle{scrheadings}
\renewcommand\section{%
\@startsection{section}% name
{1}% level
{\z@}% indent
{-3ex \@plus -.5ex \@minus -.2ex}% beforeskip (abs.!)
{.6ex \@plus.2ex}% afterskip
{\ifnum \scr@compatibility>\@nameuse{scr@v@2.96}\relax
\setlength{\parfillskip}{\z@ plus 1fil}\fi
\raggedsection\normalfont\sectfont\nobreak\size@section}%
}
\endinput
%%
%% End of file `kailbrierschein.cls'.
sudo cp $(kpsewhich --var-value TEXMFSYSVAR)/fonts/conf/texlive-fontconfig.conf /etc/fonts/conf.d/09-texlive.conf
sudo fc-cache -fsv
mkluatexfontdb --force --verbose=-1 -vvv
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment