Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • vaclab/ptb-latex
  • andre.waehlisch/ptb-latex
2 results
Show changes
Commits on Source (553)
Showing
with 498 additions and 118 deletions
## Kalibrierschein ## Diverse LaTeX-Dokumentenklassen zur Erzeugung PTB-konformer Dokumente u.a.
Das Projekt enthält eine LaTeX-Dokumentenklasse und andere Komponenten zur Erzeugung eines PTB-konformen Kalibrierscheins.
Zur Erzeugung eines Kalibrierscheins als PDF-Datei ist Folgendes zu tun: Nähere Hinweise finden sich in den drunterliegenden Verzeichnissen.
```
xelatex test-ks-KK.tex # oder: xelatex test-ks-IK.tex
xelatex test-ks-KK.tex
```
Es sind zwei LaTeX-Läufe nötig, um alle Referenzen (z.B. Anzahl der Seiten) aufzulösen. Der TeX-Compiler muss Zugriff zu den Grafikdateien "Adler.pdf", PTB-logo-KS-2015.pdf und "CIPM-MRA.png" haben.
[Rolf Niepraschk](mailto:Rolf.Niepraschk@ptb.de), Mai 2015
### kalibrierschein.cls
#### Adler.pdf
Zur Erzeugung:
* Grafik aus Word-PDF-Datei extrahieren.
#### Testdateien
* `test-ks-IK.tex`. Interne Kalibrierungen. Die Klassenoption `IK` wählt die Datei `IK.tex` mit angepassten Definitionen der Titelseite aus. Mit der Klassenoption `2015` wird das neue seit dem Jahre 2015 gültige Layout ausgewählt.
* `test-ks-KK.tex`. Kundenkalibrierung. Die Klassenoption `KK` wählt die Datei `KK.tex` mit angepassten Definitionen der Titelseite aus. Mit der Klassenoption `2015` wird das neue seit dem Jahre 2015 gültige Layout ausgewählt.
#### TODO
* Genauer Vergleich der Geometrie (LaTeX-Dokument vs. Word-Original).
* Überdenken der inneren Struktur (Makronamen usw.)
## Adressaufkleber
Zwei gleichartige Adressaufkleber auf einem A4-Blatt
### vl-addressLabels.cls
#### Testdatei
* `test-addressLabels.tex`. Beispiel für ein Blatt mit zwei Adressaufklebern.
Zur Erzeugung einer PDF-Datei mit Adressaufklebern ist der folgende Aufruf geeignet:
```
pdflatex test-addressLabels.tex
```
## Arbeitsanweisung
## ptbposter
## Adressaufkleber Das Projekt enthält eine LaTeX-Dokumentenklasse zur
Erzeugung von zwei gleichartigen Adressaufkleber auf einem A4-Blatt.
### Testdatei
* `test-addressLabels.tex`. Beispiel für ein Blatt mit zwei Adressaufklebern.
%--------------------------- %---------------------------
\listfiles \documentclass[ de ]{vl-addressLabels}
\documentclass[ngerman]{vl-addressLabels} %\documentclass[ en ]{vl-addressLabels}
%\handledby{Prof.~Peter Silie}% Standard: AG~7.54
\firm{oclaro AG} \firm{oclaro AG}
\attn{z.\,Hd.}% "z.\,Hd.", "Attn:" oder "c/o" %\attn{z.\,Hd.}% "z.\,Hd.", "Attn:" oder "c/o"
\name{Jürg Häfliger} \name{Jürg Häfliger}
\street{Binzstr. 17} \street{Binzstr. 17}
\zip{ CH-8045 } \zip{ CH-8045 }
......
\setcounter{errorcontextlines}{100} \setcounter{errorcontextlines}{100}
\listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01] \NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-addressLabels} \ProvidesClass{vl-addressLabels}
[2013/01/17 v0.1d Dokumentenklasse (RN/PTB)] [2020/09/16 v0.1i Dokumentenklasse (RN/PTB)]
\newcommand*\vl@lang{english}
\DeclareOption{de}{\def\vl@lang{ngerman}}
\DeclareOption{german}{\def\vl@lang{ngerman}}
\DeclareOption{en}{\def\vl@lang{english}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
\ProcessOptions\relax \ProcessOptions\relax
\PassOptionsToPackage{paper=a4,pagesize,twoside=false,headinclude}{typearea} \PassOptionsToPackage{paper=a4,pagesize,twoside=false,headinclude}{typearea}
...@@ -11,11 +19,6 @@ ...@@ -11,11 +19,6 @@
,fontsize=12pt ,fontsize=12pt
]{scrartcl} ]{scrartcl}
\def\@tempa{1}
\ifx\LANG\@tempa
\PassOptionsToPackage{ngerman}{babel}
\fi
\def\huge{\@setfontsize\huge{20.26}{25.3}} \def\huge{\@setfontsize\huge{20.26}{25.3}}
\def\large{\@setfontsize\large{12.17}{14.2}} \def\large{\@setfontsize\large{12.17}{14.2}}
\def\tiny{\@setfontsize\tiny\@viipt\@viiipt} \def\tiny{\@setfontsize\tiny\@viipt\@viiipt}
...@@ -26,59 +29,10 @@ ...@@ -26,59 +29,10 @@
\RequirePackage{eso-pic,graphicx} \RequirePackage{eso-pic,graphicx}
\RequirePackage{babel}
\RequirePackage{picture}
\let\@tempdimd=\@clnwd
\let\@tempdime=\@clnht
\let\@tempdimf=\@dashdim
\AtBeginDocument{%
\newif\ifGERMAN \GERMANfalse
\newif\ifENGLISH \ENGLISHtrue
\iflanguage{ngerman}{\GERMANtrue\ENGLISHfalse}{%
\iflanguage{german}{\GERMANtrue\ENGLISHfalse}{}}
%\iflanguage{english}{\ENGLISHtrue}{}
\ifGERMAN % Wohl alles unnötig
\fi
\ifENGLISH
\fi
\mbox{}
%-------- End AtBeginDocument ------------
}
\newcommand*\vl@firm{}
\newcommand*\vl@attn{}% "z.\,Hd.", "Attn:" oder "c/o"
\newcommand*\vl@name{}
\newcommand*\vl@street{}
\newcommand*\vl@zip{}
\newcommand*\vl@town{}
\newcommand*\vl@land{}
\AddToShipoutPictureBG*{%
\vlLabels
}%
\RequirePackage{url}
\RequirePackage{ifxetex,ifluatex} \RequirePackage{ifxetex,ifluatex}
\newif\ifXeOrLua \XeOrLuafalse \newif\ifXeOrLua \XeOrLuafalse
\ifxetex\XeOrLuatrue\else\ifluatex\XeOrLuatrue\fi\fi \ifxetex\XeOrLuatrue\else\ifluatex\XeOrLuatrue\fi\fi
\RequirePackage[
% factor=1500
% ,verbose=true
,final=true
% ,letterspace=100
,babel=true
]{microtype}
\ifXeOrLua% XeLaTeX oder luaLaTeX \ifXeOrLua% XeLaTeX oder luaLaTeX
\typeout{############################ XeLaTeX oder luaLaTeX} \typeout{############################ XeLaTeX oder luaLaTeX}
...@@ -87,7 +41,7 @@ ...@@ -87,7 +41,7 @@
\usepackage{unicode-math} \usepackage{unicode-math}
%%%\setmainfont[Ligatures=TeX]{TeX Gyre Heros} %%%\setmainfont[Ligatures=TeX]{TeX Gyre Heros}
%%%\setsansfont[Ligatures=TeX]{TeX Gyre Heros} %%%\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
\iffalse
\setsansfont \setsansfont
[Ligatures=TeX [Ligatures=TeX
%,AutoFakeSlant% default: 0.2 %,AutoFakeSlant% default: 0.2
...@@ -103,6 +57,10 @@ ...@@ -103,6 +57,10 @@
,BoldItalicFont=* ,BoldItalicFont=*
,BoldItalicFeatures={FakeBold=2.5,FakeSlant=0.2} ,BoldItalicFeatures={FakeBold=2.5,FakeSlant=0.2}
]{Arial Unicode MS} ]{Arial Unicode MS}
\else
\setsansfont[Ligatures=TeX]{TeXGyreHeros}
\fi
\setmonofont[Scale=MatchLowercase]{Latin Modern Mono} \setmonofont[Scale=MatchLowercase]{Latin Modern Mono}
...@@ -150,17 +108,54 @@ ...@@ -150,17 +108,54 @@
\fi \fi
\RequirePackage[\vl@lang]{babel}
\RequirePackage{iflang}
\RequirePackage[autostyle=once,german=guillemets]{csquotes}
\IfLanguageName{ngerman}{%
\AtEndOfClass{\shorthandon{"}}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
}{%
}
\MakeAutoQuote{»}{«}
\@ifpackageloaded{inputenc}{}{%
\catcode`=\active
\catcode`=\active
}
\RequirePackage{picture}
\let\@tempdimd=\@clnwd
\let\@tempdime=\@clnht
\let\@tempdimf=\@dashdim
\AtBeginDocument{%
\mbox{}
}
\AddToShipoutPictureBG*{%
\vlLabels
}%
\RequirePackage{url}
\RequirePackage[
% factor=1500
% ,verbose=true
,final=true
% ,letterspace=100
,babel=true
]{microtype}
\newcommand*\vlReturn{% \newcommand*\vlReturn{%
\parbox[t]{\paperwidth}{% \parbox[t]{\paperwidth}{%
Dr.~Karl Jousten \par
\ifGERMAN Leiter der Arbeitsgruppe für Vakuummetrologie \par \fi
\ifENGLISH Head of Section Vacuum Metrology \par \fi
Physikalisch-Technische Bundesanstalt \par Physikalisch-Technische Bundesanstalt \par
\ifx\vl@handledby\@empty AG~7.54\else\vl@handledby\fi\par
Abbestraße 2--12 \par Abbestraße 2--12 \par
10587 Berlin \par 10587 Berlin \par
\settowidth\@tempdimd{Telefon:}% \settowidth\@tempdimd{Telefon:}%
\parbox{\@tempdimd}{Telefon:} ++49-30-3481-7262 \par %\parbox{\@tempdimd}{Telefon:} ++49-30-3481-7262 \par
\parbox{\@tempdimd}{Fax:} ++49-30-3481-7490 %\parbox{\@tempdimd}{Fax:} ++49-30-3481-7490
} }
} }
...@@ -180,20 +175,36 @@ ...@@ -180,20 +175,36 @@
\newcommand*\vlLabels{% \newcommand*\vlLabels{%
\put(20mm,\dimexpr\paperheight-20mm){\vlReturn}% \put(20mm,\dimexpr\paperheight-20mm){\vlReturn}%
\put(30mm,\dimexpr\paperheight-80mm){\vlAddress}% \put(60mm,\dimexpr\paperheight-80mm){\vlAddress}%
\put(0,.5\paperheight){\parbox[b]{\paperwidth}{\dotfill}}% \put(0,.5\paperheight){\parbox[b]{\paperwidth}{\dotfill}}%
\put(20mm,\dimexpr.5\paperheight-20mm){\vlReturn}% \put(20mm,\dimexpr.5\paperheight-20mm){\vlReturn}%
\put(30mm,\dimexpr.5\paperheight-80mm){\vlAddress}% \put(60mm,\dimexpr.5\paperheight-80mm){\vlAddress}%
} }
\RequirePackage{trimspaces} \RequirePackage{trimspaces}
\newcommand*\firm[1]{\xdef\vl@firm{\trim@spaces{#1}}} \newcommand\firm[1]{%
\newcommand*\attn[1]{\xdef\vl@attn{\trim@spaces{#1}}} \begingroup
\newcommand*\name[1]{\xdef\vl@name{\trim@spaces{#1}}} %\let\\=\relax \VerbatimQuotes
\newcommand*\street[1]{\xdef\vl@street{\trim@spaces{#1}}} \gdef\vl@firm{\trim@spaces{#1}}
\newcommand*\zip[1]{\xdef\vl@zip{{\trim@spaces{#1}}}} \endgroup
\newcommand*\town[1]{\xdef\vl@town{\trim@spaces{#1}}} }
\newcommand*\vl@handledby{}
\newcommand*\vl@firm{}
\newcommand*\vl@attn{}% "z.\,Hd.", "Attn:" oder "c/o"
\newcommand*\vl@name{}
\newcommand*\vl@street{}
\newcommand*\vl@zip{}
\newcommand*\vl@town{}
\newcommand*\vl@land{}
\newcommand\handledby[1]{\xdef\vl@handledby{\trim@spaces{#1}}}
\newcommand\attn[1]{\xdef\vl@attn{\trim@spaces{#1}}}
\newcommand\name[1]{\xdef\vl@name{\trim@spaces{#1}}}
\newcommand\street[1]{\xdef\vl@street{\trim@spaces{#1}}}
\newcommand\zip[1]{\xdef\vl@zip{{\trim@spaces{#1}}}}
\newcommand\town[1]{\xdef\vl@town{\trim@spaces{#1}}}
\let\land=\relax \let\land=\relax
\newcommand*\land[1]{\xdef\vl@land{\trim@spaces{#1}}} \newcommand*\land[1]{\xdef\vl@land{\trim@spaces{#1}}}
......
File added
\documentclass[%
,de
,twoside
,sanserif
,BLN
]{ptbletter}
\yourmail{2015-05-08}
\handledby{Beate Prußeit}
\myref{7.5-1V-15-29 und -40}
\mymail{2015-05-14}
\myphone{+49-30-3481-7375}
\myfax{+49-30-3481-7490}
\myemail{Beate.Pruszeit@ptb.de}
\subject{Testlecks Vakuum}
\date{2015-07-15}
\begin{document}
\begin{letter}{%
INFICON GmbH \\
Christian Scherer \\
Bonner Str. 498 \\
50968 Köln
}
\opening{Sehr geehrter Herr Scherer,}% Herr/Frau?
als Anlagen erhalten Sie die Kalibrierscheine 75198~PTB~15 bis 75201~PTB~15 für
die durchgeführte Kalibrierung Ihrer Testlecks.
\closing{\MFG}
\encl{4 Kalibrierscheine}
\end{letter}
\end{document}
File added
\documentclass[%
,en
,twoside
,sanserif
,BLN
]{ptbletter}
\yourref{4500546992} % Nötig? Wenn ja, woher nehmen?
\yourmail{2015-05-08}
\handledby{Beate Prußeit}
\myref{7.5-1V-15-29 und -40}
\mymail{2015-05-14}
\myphone{+49-30-3481-7375}
\myfax{+49-30-3481-7490}
\myemail{Beate.Pruszeit@ptb.de}
\subject{Testleaks} % Wie Bennenung (de/en) auswählen?
\date{2015-07-15}
\begin{document}
\begin{letter}{%
Adixen Vacuum Products \\
Nicolas Krzyzelewski \\
98, Avenue de Brogny, BP 2069 \\
F-74009 Annecy Cedex \\
FRANKREICH
}
\opening{Dear Mr. Krzyzelewski,}
Please find enclosed the calibration certificates 75184~PTB~15 to 75194~PTB~15
for your testleaks.
%\closing{\MFG}
\closing{Best regards}
\encl{11 calibration certificates}
\end{letter}
\end{document}
Die Dokumentenklasse `ptb-confirm` wird in 7.54 nicht mehr für Antragsbestätigungen genutzt, stattdessen normale PTB-Briefe (`ptbletter`).
RN, 2023-04-18
## antragsbestaetigung
Das Projekt enthält eine LaTeX-Dokumentenklasse zur Erzeugung einer PTB-konformen Antragsbestätigung für Kalibrierungen. Sie basiert auf der LaTeX-Dokumentenklasse »ptbletter«.
### Testdatei
* `antragsbestaetigung-test.tex`
File added
\documentclass[de]{ptb-confirm}
\missingEntries{ 17 }
\handledby{Ute Becker}%{{DB}}
\myref{7.5-1V-17-54}%{{DB}}
%%%\mymail{}%{{DB}}
\myphone{7467}%{{DB}}?
\myfax{7490}%{{DB}}?
\myemail{Ute.Becker@ptb.de}%{{DB}}
\yourref{4711-0815}%{{DB}}
\yourmail{2017-07-14}%{{DB}}
\KindOfEnquiry{E-Mail}%{{DB}}?
\DateOfEnquiry{}%{{DB}}
\Company{INFICON GmbH}%{{DB}}
\Name{Christian Scherer}%{{DB}}
\Street{Postfach 51 07 60}%{{DB}} zusätzl. Makro \POB (Post Office Box)?
\Zipcode{50943}%{{DB}}
\Town{Köln}%{{DB}}
\Land{}%{{DB}} Leer, wenn Deutschland
\Device{{Testleck gegen Atmosphäre Helium XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX},
{Testleck gegen Atmosphäre R134a}}%{{DB}}
\Condition{\SI{23+-0.5}{\degreeCelsius}}%{{DB}}
\ScheduleDate{2017-08-28}%{{DB}}
\Duration{17}
\Fee{1626.98}
\ConstantText{%
Ihr Antrag wird mit einem separaten Kostenbescheid
abgerechnet. Die Höhe der festen Gebühr (Durchschnittsgebühr) basiert auf der
Kostenverordnung für Nutzleistungen in der derzeit gültigen Fassung.
Überschreitet der Arbeitsaufwand für Ihr Gerät den für die Durchschnittsgebühr
ermittelten Arbeitsaufwand um mehr als 25\,\%, erfolgt eine Kostenermittlung
nach tatsächlichem Aufwand.
\par
Die Verfahrensweise der PTB richtet sich nach verwaltungsrechtlichen
Bestimmungen. Allgemeine Geschäftsbedingungen eines Antragstellers können nicht
akzeptiert werden.
\par
Bitte haben Sie dafür Verständnis, dass wir zu unserer Sicherheit und zur
Betriebsbereitschaft unserer Primärnormale keine Kalibrierung beginnen können,
bevor nicht die beigelegte Erklärung unterschrieben an uns zurückgesandt ist.
}
\date{2017-07-18}%{{DB}}
\begin{document}
\end{document}
File added
\documentclass[ en ]{ptb-confirm}
\missingEntries{ 0 }
\handledby{Dr. Karl Jousten}
\myref{7.5-1V-15-05}
%%%\mymail{2015-05-14}
\myphone{7216}
\myfax{7490}
\myemail{Karl.Jousten@ptb.de}
\yourref{4711-0815}
\yourmail{2015-05-08}
\KindOfEnquiry{email}
\DateOfEnquiry{}% wenn leer, dann identisch zu \DateOfApplication
\Company{EDWARDS LTD}
\Name{Peter Smith}
\Street{15 Marshall Road}
\Zipcode{BN22 9BA}
\Town{Eastbourne, East Sussex}
\Land{United Kingdom}
\Device{ {CDG 1\,Torr} {XXX} {YYY} }
\Condition{Moonlight}
\ScheduleDate{2015-07-13}
\Duration{17}
\Fee{1789.98}
\ConstantText{%
Your order will be settled with a separate invoice that uses
fixed calibration fees according to the decree of the Ministry of Commerce of
Germany. If the working time for your device~/ devices will exceed more than
25\,\% of the working time used for the determination of the fee, the actual
costs have to be charged.
\par
The procedure of PTB keeps to German laws. General terms of business of the
customer cannot be accepted.
\par
Please, consider that for safety reasons and for protection of our primary
standards, we cannot start a calibration before we have not received the
enclosed declaration.
}
\date{2017-07-18}%{{DB}}
\begin{document}
\end{document}
\ProvidesFile{ptb-confirm-de.lco}[2018/11/08 v0.1f (ptb-confirm, de)]
\makeatletter
\opening{}
Aufgrund Ihres Antrags vom \usekomavar{yourmail} führt die PTB folgende
Kalibrierung durch:
\def\do#1{%
\edef\vl@tempa{\trim@spaces@noexp{#1}}%
\def\z{\def\z{\,\textbullet\,}}%
\expandafter\@tfor\expandafter\vl@tempb\expandafter
:\expandafter=\vl@tempa\do{%
\z\vl@tempb
}
\par\smallskip
}
\par\medskip
\indent
\begin{minipage}{\dimexpr\textwidth-\parindent}
\expandafter\docsvlist\expandafter{\vl@Device}%
\end{minipage}
\medskip\noindent
\begin{tabularx}{\textwidth}{@{}l@{~~}X@{}}
Vorgesehenes Datum: & \vl@ScheduleDate \\
Bearbeitungsdauer: & \vl@Duration~Werktage \\
Gesamtgebühr: & \vl@Fee \\
\end{tabularx}
\medskip\noindent \vl@ConstantText
\closing{\MFg}
\noindent im Auftrag \par\medskip\noindent\usekomavar{handledby}
\makeatother
\endinput
\ProvidesFile{ptb-confirm-en.lco}[2018/11/08 v0.1f (ptb-confirm, en)]
\makeatletter
\opening{}
According to your order of \usekomavar{yourmail}, PTB will carry out the
following calibration:
\def\do#1{%
\edef\vl@tempa{\trim@spaces@noexp{#1}}%
\def\z{\def\z{\,\textbullet\,}}%
\expandafter\@tfor\expandafter\vl@tempb\expandafter
:\expandafter=\vl@tempa\do{%
\z\vl@tempb
}
\par\smallskip
}
\par\medskip
\indent
\begin{minipage}{\dimexpr\textwidth-\parindent}
\expandafter\docsvlist\expandafter{\vl@Device}%
\end{minipage}
\medskip\noindent
\begin{tabularx}{\textwidth}{@{}l@{~~}X@{}}
Scheduled date: & \vl@ScheduleDate \\
Turnaround time: & \vl@Duration~working days \\
Total calibration fee: & \vl@Fee \\
\end{tabularx}
\medskip\noindent \vl@ConstantText
\closing{\MFg}
%\noindent per procura
\noindent on behalf of PTB
\par\medskip\noindent\usekomavar{handledby}
\makeatother
\endinput
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\setcounter{errorcontextlines}{100} \listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{ptb-confirm}[2018/11/09 v0.2g Bestaetigung (RN)]
\RequirePackage{eso-pic,graphicx,xcolor,tabularx,trimspaces,amsmath}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ptbletter}}
\ProcessOptions\relax
\LoadClass[%
,BLN
]{ptbletter}
\PassOptionsToPackage{hidelinks}{hyperref}
\RequirePackage{siunitx-PTB}
\providecommand*\vl@tempa{}
\providecommand*\vl@tempb{}
\providecommand*\vl@tempc{}
\providecommand*\vl@tempd{}
\providecommand*\vl@tempe{}
\newcommand*\vl@Setcommand[2]{% #1=macro, #2=value
\@namedef{#1}{#2}%
}
\newcommand*\KindOfEnquiry[1]{\ptb@setcommand{vl@KindOfEnquiry}{#1}}
\newcommand*\DateOfEnquiry[1]{%
\ptb@setcommand[\usekomavar{yourmail}]{vl@DateOfEnquiry}{#1}}
\newcommand*\Company[1]{\ptb@setcommand{vl@Company}{#1}}
\newcommand*\Name[1]{\ptb@setcommand{vl@Name}{#1}}
\newcommand*\Street[1]{\ptb@setcommand{vl@Street}{#1}}
\newcommand*\Zipcode[1]{\ptb@setcommand{vl@Zipcode}{#1}}
\newcommand*\Town[1]{\ptb@setcommand{vl@Town}{#1}}
\newcommand*\Land[1]{\ptb@setcommand{vl@Land}{#1}}
\newcommand*\Device[1]{\ptb@setcommand{vl@Device}{#1}}
\newcommand*\Condition[1]{\vl@Setcommand{vl@Condition}{#1}}
\newcommand*\ScheduleDate[1]{\ptb@setcommand{vl@ScheduleDate}{#1}}
\newcommand*\Fee[1]{\vl@Setcommand{vl@Fee}{#1}}
\newcommand*\missingEntries[1]{\ptb@setcommand{vl@missingEntries}{#1}}
\newcommand*\Duration[1]{\ptb@setcommand{vl@Duration}{#1}}
\newcommand\ConstantText[1]{\gdef\vl@ConstantText{#1}}
\newcommand*\vl@KindOfEnquiry{}
\newcommand*\vl@DateOfEnquiry{}
\newcommand*\vl@Company{}
\newcommand*\vl@Name{}
\newcommand*\vl@Street{}
\newcommand*\vl@Zipcode{}
\newcommand*\vl@Town{}
\newcommand*\vl@Land{}
\newcommand*\vl@Device{}
\newcommand*\vl@Condition{}
\newcommand*\vl@ScheduleDate{}
\newcommand*\vl@Fee{}
\newcommand*\vl@missingEntries{0}
\newcommand*\vl@Duration{?}
\newtoks\vl@devTabLines
\RequirePackage{hyperref}
\AtBeginDocument{%
\ifnum\number\vl@missingEntries>0 %
\AddToShipoutPictureBG{%
\AtTextCenter{%
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
\rotatebox{54.7}{%
\textnormal{\textsf{\textbf{%
\color{lightgray}Fehler:~\vl@missingEntries}}}}}}%
}%
}%
\fi
\vl@devTabLines{}%
\def\do#1{%
\vl@devTabLines\expandafter{\the\vl@devTabLines & #1\\}%
}
\begin{letter}{%
%\vl@Company \\
\mbox{}%
\ifx\vl@Company\@empty ~\else\vl@Company\fi \\
\ifx\vl@Name\@empty ~\else\vl@Name\smallskip\fi \\
\ifx\vl@Street\@empty ~\else\vl@Street\fi \\
\vl@Zipcode\ \vl@Town
\ifx\vl@Land\@empty\else ~\smallskip \\ \textls[75]{\MakeUppercase{\vl@Land}} \fi
}
\IfLanguageName{ngerman}{%
%\sisetup{locale=DE}
\subject{Antragsbestätigung~\usekomavar{myref}}%
\input{ptb-confirm-de.lco}%
}{%
%\sisetup{locale=UK}
\subject{Confirmation of Order~\usekomavar{myref}}%
\input{ptb-confirm-en.lco}%
}%
\end{letter}
}%
\endinput
## Arbeitsanweisung
Das Projekt enthält eine LaTeX-Dokumentenklasse (`vl-arbeitsanweisung.cls`) zur
Erzeugung eines einer Arbeitsanweisung.
### Testdatei
* `7.5-AA-DIR.tex`. Beispieldokument für die Arbeitsanweisung.
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{vl-aa-new-engines.clo}[2020/06/11 v0.1b AA -- new engines (RN)]
\RequirePackage[no-math]{fontspec}
\RequirePackage{unicode-math}
\setmainfont{Latin Modern Roman}[Ligatures=TeX]
\setsansfont{Latin Modern Sans}[Ligatures=TeX]
\setmonofont{AnonymousPro-Regular}[%
Extension = .ttf,
BoldFont = AnonymousPro-Bold,
ItalicFont = AnonymousPro-Italic,
BoldItalicFont = AnonymousPro-BoldItalic,
Scale = .88
]
\setmathfont{Latin Modern Math}[math-style=ISO,bold-style=ISO]
\endinput