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 (484)
Showing
with 588 additions and 338 deletions
## Diverse LaTeX-Dokumentenklassen zur Erzeugung PTB-konformer Dokumente
## Diverse LaTeX-Dokumentenklassen zur Erzeugung PTB-konformer Dokumente u.a.
Nähere Hinweise finden sich in den drunterliegenden Verzeichnissen.
[Rolf Niepraschk](mailto:Rolf.Niepraschk@ptb.de), Mai 2015
......@@ -3,8 +3,10 @@
\documentclass[ de ]{vl-addressLabels}
%\documentclass[ en ]{vl-addressLabels}
%\handledby{Prof.~Peter Silie}% Standard: AG~7.54
\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}
\street{Binzstr. 17}
\zip{ CH-8045 }
......
......@@ -3,7 +3,7 @@
\listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-addressLabels}
[2015/04/30 v0.1e Dokumentenklasse (RN/PTB)]
[2020/09/16 v0.1i Dokumentenklasse (RN/PTB)]
\newcommand*\vl@lang{english}
......@@ -41,7 +41,7 @@
\usepackage{unicode-math}
%%%\setmainfont[Ligatures=TeX]{TeX Gyre Heros}
%%%\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
\iffalse
\setsansfont
[Ligatures=TeX
%,AutoFakeSlant% default: 0.2
......@@ -57,6 +57,10 @@
,BoldItalicFont=*
,BoldItalicFeatures={FakeBold=2.5,FakeSlant=0.2}
]{Arial Unicode MS}
\else
\setsansfont[Ligatures=TeX]{TeXGyreHeros}
\fi
\setmonofont[Scale=MatchLowercase]{Latin Modern Mono}
......@@ -106,14 +110,17 @@
\RequirePackage[\vl@lang]{babel}
\RequirePackage{iflang}
\RequirePackage[autostyle=once,german=guillemets]{csquotes}
\IfLanguageName{ngerman}{%
\RequirePackage[babel=once,german=guillemets]{csquotes}
\AtEndOfClass{\shorthandon{"}}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
\MakeAutoQuote{»}{«}
}{%
\RequirePackage[babel=once]{csquotes}
}
\MakeAutoQuote{»}{«}
\@ifpackageloaded{inputenc}{}{%
\catcode`=\active
\catcode`=\active
}
\RequirePackage{picture}
......@@ -126,14 +133,6 @@
\mbox{}
}
\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
}%
......@@ -150,18 +149,13 @@
\newcommand*\vlReturn{%
\parbox[t]{\paperwidth}{%
Dr.~Karl Jousten \par
\IfLanguageName{ngerman}{%
Leiter der Arbeitsgruppe für Vakuummetrologie
}{%
Head of Section Vacuum Metrology
}\par
Physikalisch-Technische Bundesanstalt \par
\ifx\vl@handledby\@empty AG~7.54\else\vl@handledby\fi\par
Abbestraße 2--12 \par
10587 Berlin \par
\settowidth\@tempdimd{Telefon:}%
\parbox{\@tempdimd}{Telefon:} ++49-30-3481-7262 \par
\parbox{\@tempdimd}{Fax:} ++49-30-3481-7490
%\parbox{\@tempdimd}{Telefon:} ++49-30-3481-7262 \par
%\parbox{\@tempdimd}{Fax:} ++49-30-3481-7490
}
}
......@@ -181,20 +175,36 @@
\newcommand*\vlLabels{%
\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(20mm,\dimexpr.5\paperheight-20mm){\vlReturn}%
\put(30mm,\dimexpr.5\paperheight-80mm){\vlAddress}%
\put(60mm,\dimexpr.5\paperheight-80mm){\vlAddress}%
}
\RequirePackage{trimspaces}
\newcommand*\firm[1]{\xdef\vl@firm{\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}}}
\newcommand\firm[1]{%
\begingroup
%\let\\=\relax \VerbatimQuotes
\gdef\vl@firm{\trim@spaces{#1}}
\endgroup
}
\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
\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
No preview for this file type
\documentclass[de]{ptb-confirm}
\yourref{4711-0815}
\yourmail{2015-05-08}
\handledby{Dr. Karl Jousten}
\myref{7.5-1V-15-05}
\mymail{2015-05-14}
\myphone{7316}
\myfax{7777}
\myemail{Karl.Jousten@ptb.de}
\DateOfApplication{2015-04-23}
\KindOfEnquiry{E-Mail}
\DateOfEnquiry{}% wenn leer, dann identisch zu \DateOfApplication
\Company{Oerlikon Leybold Vakuum GmbH}
\Name{Hans-Günter Eichner}
\Street{Bonner Str. 498}
\Zipcode{50968}
\Town{Köln}
\Land{}
\Device{CDG 1\,Torr}
\Condition{Mondschein}
\ScheduleDate{2015-07-13}
\Fee{1789}
\date{2015-05-26}
\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}[2015/05/26 v0.1a (ptb-confirm.cls, german)]
\ProvidesFile{ptb-confirm-de.lco}[2018/11/08 v0.1f (ptb-confirm, de)]
\makeatletter
\opening{}
Aufgrund Ihres Antrags vom \vl@DateOfApplication{}, hier eingegangen per
\vl@KindOfEnquiry{} am \vl@DateOfEnquiry{}, führt die PTB folgende
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{tabular}{@{}l@{~~}l@{}}
Gerät: & \vl@Device \\
Kalibrierbedingungen: & \vl@Condition \\
\begin{tabularx}{\textwidth}{@{}l@{~~}X@{}}
Vorgesehenes Datum: & \vl@ScheduleDate \\
Gebühr: & \vl@Fee\,€ \\
\end{tabular}
Bearbeitungsdauer: & \vl@Duration~Werktage \\
Gesamtgebühr: & \vl@Fee \\
\end{tabularx}
\medskip\noindent 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.
Die Verfahrensweise der PTB richtet sich nach verwaltungsrechtlichen
Bestimmungen. Allgemeine Geschäftsbedingungen eines Antragstellers können nicht
akzeptiert werden.
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.
\medskip\noindent \vl@ConstantText
\closing{\MFg}
\noindent Im Auftrag \par\medskip\noindent\usekomavar{handledby}
\noindent im Auftrag \par\medskip\noindent\usekomavar{handledby}
\makeatother
......
\ProvidesFile{ptb-confirm-en.lco}[2015/05/26 v0.1a (ptb-confirm.cls, englisch)]
\ProvidesFile{ptb-confirm-en.lco}[2018/11/08 v0.1f (ptb-confirm, en)]
\makeatletter
\opening{}
Aufgrund Ihres Antrags vom \vl@DateOfApplication{}, hier eingegangen per
\vl@KindOfEnquiry{} am \vl@DateOfEnquiry{}, führt die PTB folgende
Kalibrierung durch:
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{tabular}{@{}l@{~~}l@{}}
Gerät: & \vl@Device \\
Kalibrierbedingungen: & \vl@Condition \\
Vorgesehenes Datum: & \vl@ScheduleDate \\
Gebühr: & \vl@Fee\,€ \\
\end{tabular}
\medskip\noindent 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.
Die Verfahrensweise der PTB richtet sich nach verwaltungsrechtlichen
Bestimmungen. Allgemeine Geschäftsbedingungen eines Antragstellers können nicht
akzeptiert werden.
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.
\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 Im Auftrag \par\medskip\noindent\usekomavar{handledby}
%\noindent per procura
\noindent on behalf of PTB
\par\medskip\noindent\usekomavar{handledby}
\makeatother
......
......@@ -3,8 +3,9 @@
\setcounter{errorcontextlines}{100} \listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{ptb-confirm}
[2015/05/26 v0.1a PTB-Brief-Klasse (RN)]
\ProvidesClass{ptb-confirm}[2018/11/09 v0.2g Bestaetigung (RN)]
\RequirePackage{eso-pic,graphicx,xcolor,tabularx,trimspaces,amsmath}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{ptbletter}}
......@@ -12,31 +13,40 @@
\LoadClass[%
,BLN
]{ptbletter}
]{ptbletter}
\PassOptionsToPackage{hidelinks}{hyperref}
\RequirePackage{siunitx-PTB}
\newcommand*\vl@setcommand[3][]{% #1=default (opt.), #2=macro, #3=value
\edef\vl@tempa{\trim@spaces@noexp{#3}}%
\expandafter\protected@xdef\csname #2\endcsname{%
\ifx\@empty\vl@tempa #1\else\vl@tempa\fi}%
\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}%
}
\RequirePackage{trimspaces}
\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*\DateOfApplication[1]{\vl@setcommand{vl@DateOfApplication}{#1}}
\newcommand*\KindOfEnquiry[1]{\vl@setcommand{vl@KindOfEnquiry}{#1}}
\newcommand*\DateOfEnquiry[1]{\vl@setcommand[\vl@DateOfApplication]{vl@DateOfEnquiry}{#1}}
\newcommand*\Company[1]{\vl@setcommand{vl@Company}{#1}}
\newcommand*\Name[1]{\vl@setcommand{vl@Name}{#1}}
\newcommand*\Street[1]{\vl@setcommand{vl@Street}{#1}}
\newcommand*\Zipcode[1]{\vl@setcommand{vl@Zipcode}{#1}}
\newcommand*\Town[1]{\vl@setcommand{vl@Town}{#1}}
\newcommand*\Land[1]{\vl@setcommand{vl@Land}{#1}}
\newcommand*\Device[1]{\vl@setcommand{vl@Device}{#1}}
\newcommand*\Condition[1]{\vl@setcommand{vl@Condition}{#1}}
\newcommand*\ScheduleDate[1]{\vl@setcommand{vl@ScheduleDate}{#1}}
\newcommand*\Fee[1]{\vl@setcommand{vl@Fee}{#1}}
\newcommand\ConstantText[1]{\gdef\vl@ConstantText{#1}}
\newcommand*\vl@DateOfApplication{}
\newcommand*\vl@KindOfEnquiry{}
\newcommand*\vl@DateOfEnquiry{}
\newcommand*\vl@Company{}
......@@ -48,23 +58,45 @@
\newcommand*\vl@Device{}
\newcommand*\vl@Condition{}
\newcommand*\vl@ScheduleDate{}
\newcommand*\vl@Fee{} % TODO: Kommazahlen bearbeiten? siunitx ?
\newcommand*\vl@Fee{}
\newcommand*\vl@missingEntries{0}
\newcommand*\vl@Duration{?}
\newtoks\vl@devTabLines
\AtBeginDocument{%
\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 \\
\vl@Name \smallskip \\
\vl@Street \\
%\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 \bigskip \\ \textls{\MakeUppercase{\vl@Land}} \fi
\ifx\vl@Land\@empty\else ~\smallskip \\ \textls[75]{\MakeUppercase{\vl@Land}} \fi
}
\iflanguage{ngerman}{%
\subject{Antragsbestätigung}%
\input{ptb-confirm-de.lco}%
}{%
\subject{Confirmation of Order}%
\input{ptb-confirm-en.lco}%
}%
\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}
}%
......
% 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
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{vl-aa-old-engines.clo}[2020/06/20 v0.1b AA -- old engines (RN)]
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
%\RequirePackage{tgpagella,qpxmath}
%\RequirePackage{tgheros}
\RequirePackage{lmodern}
\RequirePackage[ttdefault=true,scale=1.034]{AnonymousPro}
\endinput
\setcounter{errorcontextlines}{100}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-arbeitsanweisung}
[2014/08/15 v0.1d Dokumentenklasse (RN/PTB)]
[2020/09/11 v1.0b Dokumentenklasse (RN/PTB)]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=a4,pagesize,twoside,headinclude}{typearea}
\PassOptionsToPackage{headinclude,usegeometry}{typearea}
\LoadClass[%
,twoside
,fontsize=12pt% ???
,headings=normal
,headings=small
,toc=bibliographynumbered
,captions=oneline
,captions=tableheading
%,origlongtable
]{scrartcl}
\RequirePackage{babel}
\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=85bp,
]{geometry}
%\setlength{\footheight}{18.5pt}
\setlength\footheight{50.35002pt}
\renewcommand*\maketitle[1][1]{%
\begingroup
\centering \noindent\usekomafont{title}
\Large \@title \par \bigskip\medskip
\endgroup
}
\RequirePackage[main=ngerman,english]{babel}
\RequirePackage{zref-totpages,ifxetex,ifluatex,grffile,picture}
\RequirePackage{tabularx}
\let\ptb@endtabularx=\TX@endtabularx
\RequirePackage{amsmath,threeparttable,tabto,ltablex,grffile}
\RequirePackage{pdflscape,picture,trimspaces,url,varwidth,placeins}
\RequirePackage{zref-totpages,graphicx,booktabs,array,pdfpages}
\RequirePackage{longtable,siunitx,ragged2e,ifxetex,ifluatex,relsize}
\RequirePackage[manualmark]{scrpage2}
\RequirePackage{graphicx}
%%%\let\ptb@endtabularx=\TX@endtabularx
\RequirePackage{xltabular}
\RequirePackage{amsmath,threeparttable,tabto}
\RequirePackage{pdflscape,trimspaces,url,varwidth,placeins}
\RequirePackage{booktabs,array}
\RequirePackage[final]{pdfpages}
\RequirePackage{longtable,siunitx,ragged2e,relsize}
\RequirePackage{siunitx-PTB}
\let\ptb@tempdima=\@clnwd
\let\ptb@tempdimb=\@clnht
......@@ -38,12 +65,6 @@
\newcommand*\ptb@Date{}
\newcommand*\ptb@tempa{0}
\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}}}
\ifxetex
\def\ptb@tempa{1}%
\else
......@@ -53,19 +74,9 @@
\fi
\ifcase\ptb@tempa % pdfTeX
\RequirePackage[T1]{fontenc}
\RequirePackage[utf8]{inputenc}
\RequirePackage{textcomp}
\RequirePackage{lmodern}
\RequirePackage{tgpagella,qpxmath}
%\RequirePackage{mathpazo}
\RequirePackage{tgheros}
\or % Unicode (XeTeX oder luaTeX)
\RequirePackage{fontspec,unicode-math}
\setmainfont[Ligatures=TeX]{TeX Gyre Pagella}
\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
\setmonofont[Scale=MatchLowercase]{Latin Modern Mono}
\setmathfont{TeX Gyre Pagella Math}
\input{vl-aa-old-engines.clo}
\or % XeTeX oder luaTeX
\input{vl-aa-new-engines.clo}
\fi
\RequirePackage[
......@@ -79,70 +90,15 @@
\MakeAutoQuote{»}{«}% Alt Gr + y / Alt Gr + x
\MakeAutoQuote{}{}% Alt Gr + v / Alt Gr + b
\newcommand*\ptb@rulewidth{.4mm}
\newcolumntype{C}{>{\centering}X}
\newcommand*\ptb@f@@t{%
\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}[t]{@{}|C|C|C|C|C|@{}} \firsthline
Erstellt: \\
Abteilung~\ptb@Devision, Fachbereich~\ptb@Department
&
Ausgabe-Nr.: \\ \ptb@Edition
&
Datum: \\ \ptb@Date
&
Kurzbezeichnung: \\ \ptb@Ident
&
Seite von Seiten \\ \thepage~von \ztotpages
\tabularnewline \lasthline
\end{tabularx}%
\endgroup
}
\newcommand*\ptb@VWD[1]{%
\begin{varwidth}{\linewidth}\centering #1\end{varwidth}}
\newcommand*\ptb@firstf@@t{%
\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}{@{}|C|C|C|c|c|c|@{}} \firsthline
Erstellt: \\
Abteilung~\ptb@Devision, Fachbereich~\ptb@Department \\
AG~\ptb@WorkingGroup
&
Geprüft: \\ Leiter~\ptb@Department \\~
&
Genehmigt: \\ QMV-\ptb@Devision \\~
&
\ptb@VWD{Ausgabe-Nr.: \\ \ptb@Edition\\~}
&
\ptb@VWD{Kurzbezeichnung: \\ \ptb@Ident\\~}
&
\ptb@VWD{Seite von Seiten \\ \thepage~von \ztotpages\\~}
\tabularnewline
&&&&& \tabularnewline
&&&&& \tabularnewline
\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}}}
am:~\dotfill
&
am:~\dotfill
&
am:~\dotfill
&
&& \tabularnewline \lasthline
\end{tabularx}%
\endgroup
}
\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\bfseries\sffamily}
\setcapindent{1em}
\AtBeginDocument{%
\edef\ptb@Ident{\ptb@Department-AA-\ptb@Object}%
......@@ -150,73 +106,100 @@
\date{}%
}
\newcommand*\ptb@foot{%
\ifnum\c@page=\@ne\ptb@firstf@@t\else\ptb@f@@t\fi
\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{%
\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\hfill Qualit\"atsmanagement-Arbeitsanweisung\hfill\ptb@Ident{}
\ptb@Ident \hfill Qualit\"atsmanagement-Arbeitsanweisung \hfill PTB
}
\defpagestyle{headings}%
{% Kopf
%(OLL,OLD)% Linie
{\ptb@head}% Gerade Seiten
{\ptb@head}% Ungerade Seiten
{% Einseitig
}
%(\textwidth,.8pt)% Linie
}%
{% Fuss
%(OLL,OLD)% Linie
{\ptb@foot}% Gerade Seiten
{\ptb@foot}% Ungerade Seiten
{% Einseitig
\newcommand*\ptb@first@foot{%
\raisebox{-20bp}[0pt][0pt]{%
\begingroup
\normalfont\sffamily\tiny\extrarowheight=.3\baselineskip
\arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt %
\tabcolsep=.3em %
\ptb@tempdima=\dimexpr\textwidth-12\tabcolsep-7\arrayrulewidth
\newcolumntype{P}[1]{>{\centering}p{##1\ptb@tempdima}}%
\begin{tabular}[b]{@{}|P{.23}|P{.23}|P{.23}|P{.09}|P{.11}|P{.11}|@{}}%
\firsthline
Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department \\
AG~\ptb@WorkingGroup &
Geprüft:\\ Leiter~\ptb@Department \\~ &
Genehmigt:\\ QMV-\ptb@Devision \\~ &
Ausgabe-Nr.:\\ \ptb@Edition\\~ &
Kurzbezeichnung:\\ \ptb@Ident\\~ &
Seite von Seiten \\ \thepage~von \ztotpages\\~ \tabularnewline
&&&&& \tabularnewline
&&&&& \tabularnewline
am:~\dotfill &
am:~\dotfill &
am:~\dotfill & & & \tabularnewline[.5ex] \lasthline
\end{tabular}%
\endgroup
}
%(\textwidth,2mm)% Linie
}
\RequirePackage[%
headheight=16mm,
marginparwidth=5mm,
left=22mm,
right=16mm,
textheight=225mm,
top=35mm,
headsep=14mm,
footskip=15mm,
]{geometry}
\renewcommand*\maketitle[1][1]{%
\newcommand*\ptb@foot@even{%
\begingroup
\centering \noindent\usekomafont{title}
\Large \@title \par \bigskip\medskip
\arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt %
\ptb@tempdima=0.2\dimexpr\textwidth-10\tabcolsep-6\arrayrulewidth
\newcolumntype{M}{>{\centering}m{\ptb@tempdima}}
\normalfont\sffamily\tiny\extrarowheight=.3\baselineskip
\begin{tabular}[b]{@{}|M|M|M|M|M|@{}} \firsthline
Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department &
Ausgabe-Nr.: \\ \ptb@Edition &
Datum: \\ \ptb@Date &
Kurzbezeichnung: \\ \ptb@Ident &
Seite von Seiten \\ \thepage~von \ztotpages \tabularnewline \lasthline
\end{tabular}
\endgroup
}
\newcommand*\ptb@foot@odd{%
\begingroup
\arrayrulewidth=\ptb@rulewidth \extratabsurround=0pt %
\ptb@tempdima=0.2\dimexpr\textwidth-10\tabcolsep-6\arrayrulewidth
\newcolumntype{M}{>{\centering}m{\ptb@tempdima}}
\normalfont\sffamily\tiny\extrarowheight=.3\baselineskip
\begin{tabular}[b]{@{}|M|M|M|M|M|@{}} \firsthline
Seite von Seiten \\ \thepage~von \ztotpages &
Kurzbezeichnung: \\ \ptb@Ident &
Datum: \\ \ptb@Date &
Ausgabe-Nr.: \\ \ptb@Edition &
Erstellt: \\ Abteilung~\ptb@Devision, Fachbereich~\ptb@Department
\tabularnewline \lasthline
\end{tabular}
\endgroup
}
\emergencystretch=3em %
\pagestyle{headings}
\def\titlepagestyle{headings}
\RequirePackage{tocstyle}
%\RequirePackage[tocflat]{tocstyle}
%\usetocstyle{KOMAlike}
\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}}
\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}
\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\bfseries\sffamily}
\setcapindent{1em}
%\setcapwidth[c]{.8\textwidth}
% Kompaktere Listen
\RequirePackage{enumitem}
\setlist{noitemsep}
%\setlist{leftmargin=*}
%\setlist[1]{labelindent=1em}
\renewcommand{\floatpagefraction}{.9}
\renewcommand{\textfraction}{.1}
......@@ -227,38 +210,10 @@ footskip=15mm,
\setcounter{totalnumber}{5}
\renewcommand{\dbltopfraction}{.8}
\renewcommand{\dblfloatpagefraction}{.6}
% Einzelne Abbildungen nicht auf dem leeren Blatt zentrieren.
\setlength\@fptop{0pt}
% Kompaktere Listen
\RequirePackage[neverdecrease]{paralist}
\newcommand*\ptb@begin@list[1]{%
\ptb@tempdima=\parindent
\ptb@tempdimb=\parskip
\@nameuse{#1}%
\parindent=\ptb@tempdima
\parskip=\ptb@tempdimb
}
\def\enumerate{%
\ptb@begin@list{compactenum}%
}
\def\itemize{%
\ptb@begin@list{compactitem}%
}
\def\description{%
\ptb@begin@list{compactdesc}%
}
\let\enditemize\endcompactitem
\let\endenumerate\endcompactenum
\let\enddescription\endcompactdesc
\pltopsep=\medskipamount
\plitemsep=\medskipamount
\DeclareSIUnit\torr{Torr}
\DeclareSIUnit\mbar{\milli bar}
\AtBeginDocument{\@fptop=0pt} % verzögert wegen Paket `rotating'
% TODO: nach siunitx-PTB.sty ???
\sisetup{% Formatierung von Maßzahlen (z.B. Spaltentyp "S" in Tabellen)
,retain-zero-exponent=true
,retain-unity-mantissa=true
......@@ -267,29 +222,92 @@ footskip=15mm,
,zero-decimal-to-integer=false
}
\addto\extrasgerman{\sisetup{locale=DE}}
\addto\extrasngerman{\sisetup{locale=DE}}
\addto\extrasenglish{\sisetup{locale=US}}
\addtokomafont{title}{\sisetup{detect-weight=true, detect-family=true}}
\addtokomafont{disposition}{\sisetup{detect-weight=true, detect-family=true}}
\renewcommand*\tabularxcolumn[1]{m{#1}}% vert. zentriert
\keepXColumns
\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\tabsection[1]{%
\multicolumn{\LT@cols}{@{}l@{}}{}\\[-.5em]
\multicolumn{\LT@cols}{@{}l@{}}%
{\makebox[0pt][l]{\parbox[b]{\TX@target}{%
\usekomafont{disposition}#1}}} \\*[.25em]}
\newcommand*\note@i[1][\z@]{%
\note@ii[#1]%
}
\raggedbottom
\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}}
\RequirePackage[final]{listings}
\RequirePackage{lstautogobble}
\newcommand*\ptb@lstfont{\small\ttfamily}
\lstset{
,language={}
,basicstyle=\ptb@lstfont
,numbers=none
,backgroundcolor={}
,tabsize=2
,basicstyle=\ptb@lstfont
%,identifierstyle=\bfseries\ptb@lstfont
,keywordstyle=\bfseries\ptb@lstfont
,stringstyle=\ptb@lstfont
,commentstyle=\itshape\ptb@lstfont
,basewidth=0.55em
,keepspaces
,numbers=none
,frame=single
,framesep=\fboxsep
,aboveskip=\medskipamount
,belowskip=1pt plus .5pt minus .5pt %
,xleftmargin=\fboxsep
,xrightmargin=\fboxsep
,columns=fullflexible
%,extendedchars=true
,showspaces=false
,showstringspaces=false
,breaklines=true
,breakindent=0.5em
,breakautoindent=true
,breakatwhitespace=false % ???
,captionpos=t
,postbreak=\mbox{$\hookrightarrow$}
,autogobble=true
}
\emergencystretch=3em %
\raggedbottom
\AtBeginDocument{\setkeys{Gin}{draft=false}}
\RequirePackage{nameref}
\RequirePackage[final]{hyperref}
\endinput
%%
%% End of file `arbeitsanweisung.cls'.
Zu ltablex-Problemen:
http://www.latex-community.org/forum/viewtopic.php?f=45&p=39984
(Axel Sommerfeld)
\endinput