\setcounter{errorcontextlines}{100}
\listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-versandauftrag}
    [2018/03/15 v0.2c-2018 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}}
\ProcessOptions\relax
\PassOptionsToPackage{paper=a4,pagesize}{typearea}

\LoadClass[%
,fontsize=10pt
]{scrartcl}

\RequirePackage{ifxetex,ifluatex,setspace}
\setstretch{1.5}
\newif\ifXeOrLua \XeOrLuafalse
\ifxetex\XeOrLuatrue\else\ifluatex\XeOrLuatrue\fi\fi

\ifXeOrLua% XeLaTeX oder luaLaTeX
  \input{vl-versandauftrag-2.clo}
\else
  \input{vl-versandauftrag-1.clo}
\fi

\setlength\textwidth{488bp}
\setlength\textheight{741bp}

\RequirePackage{eso-pic,pict2e,picture,xcolor,relsize,trimspaces}
\RequirePackage[\vl@lang]{babel}
\RequirePackage{iflang}
\IfLanguageName{ngerman}{%
  \RequirePackage[babel=once,german=guillemets]{csquotes}
  \AtEndOfClass{\shorthandon{"}}
  \defineshorthand{"`}{\openautoquote}
  \defineshorthand{"'}{\closeautoquote}
  \MakeAutoQuote{»}{«}
}{%
  \RequirePackage[babel=once]{csquotes}
}

\definecolor{thisGray}{gray}{0.881}

\let\vl@tempdima=\@ovxx
\let\vl@tempdimb=\@ovyy
\let\vl@tempdimc=\@ovdx
\let\vl@tempdimd=\@clnwd
\let\vl@tempdime=\@clnht
\let\vl@tempdimf=\@dashdim
\newcommand\vl@tempa{}

\newdimen\vl@fontdim
\newdimen\vl@upperfontdim
\newdimen\vl@lowerfontdim
\newif\if@vl@moreiterations
\vl@fontdim=12pt %

\newcommand\vl@buildbox[2]{%
  \setbox0\vbox{\hbox{\parbox{#1}{%
    \fontsize{\vl@fontdim}{1.2\vl@fontdim}\selectfont #2}}}%
  \dimen@\ht0 %
  \advance\dimen@\dp0 %
}

% Modifiziert nach:
% http://tex.stackexchange.com/questions/26002/fit-text-into-given-box-by-adjusting-the-fontsize
% siehe auch: http://www.tug.org/TUGboat/tb29-1/tb91pearls.pdf
%
% Verhält sich wie \parbox, wenn Text in vorgegebene Höhe passt,
% sonst Reduktion der Schriftgröße.
\newcommand\lfitbox[4][c]{% [pos] <width> <height> <stuff>
  \vl@buildbox{#2}{#4}%
  \ifdim\dimen@<#3\relax
    \parbox[#1][#3]{#2}{#4}%
  \else
    % Compute upper and lower bounds
    \loop
      \vl@fontdim.5\vl@fontdim % Reduce font size by half
      \vl@buildbox{#2}{#4}%
    \ifdim\dimen@>#3\relax \repeat
    \vl@lowerfontdim\vl@fontdim
    \vl@upperfontdim=2\vl@fontdim
    \vl@fontdim=1.5\vl@fontdim
    % Now try to find the optimum size
    \loop
      %\message{Bounds: \the\vl@lowerfontdim\space
      %         \the\vl@fontdim\space \the\vl@upperfontdim^^J}
      \vl@buildbox{#2}{#4}%
      \ifdim\dimen@>#3\relax %
        \@vl@moreiterationstrue
        \vl@upperfontdim\vl@fontdim
        \advance\vl@fontdim\vl@lowerfontdim
        \vl@fontdim=.5\vl@fontdim
      \else
        \advance\dimen@-#3\relax %
        \ifdim\dimen@<10pt %
          \vl@lowerfontdim\vl@fontdim
          \advance\vl@fontdim\vl@upperfontdim
          \vl@fontdim=.5\vl@fontdim
          \dimen@\vl@upperfontdim
          \advance\dimen@-\vl@lowerfontdim
          \ifdim\dimen@<.2pt %
            \@vl@moreiterationsfalse
          \else
            \@vl@moreiterationstrue
          \fi
        \else
          \@vl@moreiterationsfalse
        \fi
      \fi
    \if@vl@moreiterations \repeat
    \parbox[#1][#3]{#2}{\fontsize{\vl@fontdim}{1.2\vl@fontdim}\selectfont#4}%
  \fi
}

\newcommand*\vl@setboolean[3][false]{%  #1=default (opt.), #2=if, #3=value
  \edef\vl@tempa{\trim@spaces{#3}}%
  \expandafter\csname #2\ifx\@empty\vl@tempa #1\else\vl@tempa\fi\endcsname
}

\newcommand*\vl@setcounter[3][0]{%  #1=default (opt.), #2=counter, #3=value
  \edef\vl@tempa{\trim@spaces{#3}}%
  \setcounter{#2}{\ifx\@empty\vl@tempa #1\else\vl@tempa\fi}%
}

\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}%
}

\newcommand*\Inland[1]{}% nur wegen Kompatibilität zur 2017er Version
\newcommand*\EU[1]{}% nur wegen Kompatibilität zur 2017er Version

\newcommand*\vl@PSP{}
\newcommand*\PSP[1]{\vl@setcommand{vl@PSP}{#1}}
\newcommand*\vl@ShippingNo{}
\newcommand*\ShippingNo[1]{\vl@setcommand{vl@ShippingNo}{#1}}
\newcommand*\vl@ShippingName{}
\newcommand*\ShippingName[1]{\vl@setcommand{vl@ShippingName}{#1}}
\newcommand*\vl@ShippingContact{}
\newcommand*\ShippingContact[1]{\vl@setcommand{vl@ShippingContact}{#1}}
\newcommand*\vl@ShippingStreet{}
\newcommand*\ShippingStreet[1]{\vl@setcommand{vl@ShippingStreet}{#1}}
\newcommand*\vl@ShippingTown{}
\newcommand*\ShippingTown[1]{\vl@setcommand{vl@ShippingTown}{#1}}
\newcommand*\vl@ShippingZipcode{}
\newcommand*\ShippingZipcode[1]{\vl@setcommand{vl@ShippingZipcode}{#1}}
\newcommand*\vl@ShippingLand{}
\newcommand*\ShippingLand[1]{\vl@setcommand{vl@ShippingLand}{#1}}
\newcommand*\vl@CostUnit{}
\newcommand*\CostUnit[1]{\vl@setcommand{vl@CostUnit}{#1}}
\newcommand*\vl@FinanceUnit{}
\newcommand*\FinanceUnit[1]{\vl@setcommand{vl@FinanceUnit}{#1}}
\newcommand*\vl@Account{}
\newcommand*\Account[1]{\vl@setcommand{vl@Account}{#1}}
\newcommand*\vl@SAPNo{}
\newcommand*\SAPNo[1]{\vl@setcommand{vl@SAPNo}{#1}}
\newcommand*\vl@Value{}
\newcommand*\Value[1]{\vl@setcommand{vl@Value}{#1}}
\newcommand*\vl@WorkingGroup{}
\newcommand*\WorkingGroup[1]{\vl@setcommand{vl@WorkingGroup}{#1}}
\newcommand*\vl@TelefonExtension{}
\newcommand*\TelefonExtension[1]{\vl@setcommand{vl@TelefonExtension}{#1}}
\newcommand*\vl@Date{}
\newcommand*\Date[1]{\vl@setcommand{vl@Date}{#1}}
\newcommand*\vl@Content{}
\newcommand*\Content[1]{\vl@setcommand{vl@Content}{#1}}
\newcommand*\vl@Purchaser{}
\newcommand*\Purchaser[1]{\vl@setcommand{vl@Purchaser}{#1}}
\newcommand*\vl@Referee{}
\newcommand*\Referee[1]{\vl@setcommand{vl@Referee}{#1}}
\newcommand*\vl@DateOfArrival{}
\newif\ifDateOfArrival \DateOfArrivalfalse
\newcommand*\DateOfArrival[1]{%
  \vl@setcommand{vl@DateOfArrival}{#1}%
  \ifx\@empty\vl@DateOfArrival\else\DateOfArrivaltrue\fi 
}

\newcounter{vl@TransportType} \setcounter{vl@TransportType}{0}
\newcommand*\TransportType[1]{\vl@setcounter{vl@TransportType}{#1}}
\newcounter{vl@Shippingtype} \setcounter{vl@Shippingtype}{0}
\newcommand*\ShippingType[1]{\vl@setcounter{vl@Shippingtype}{#1}}
\newcounter{vl@ShippingCompany} \setcounter{vl@ShippingCompany}{4}
\newcommand*\ShippingCompany[1]{\vl@setcounter[4]{vl@ShippingCompany}{#1}}
\newcounter{vl@ShippingPayment} \setcounter{vl@ShippingPayment}{0}
\newcommand*\ShippingPayment[1]{\vl@setcounter{vl@ShippingPayment}{#1}}

\newif\ifInflammable \Inflammablefalse
\newcommand*\LabelInflammable[1]{\vl@setboolean{Inflammable}{#1}}
\newif\ifGlas \Glasfalse
\newcommand*\LabelGlas[1]{\vl@setboolean{Glas}{#1}}
\newif\ifSensitive \Sensitivefalse
\newcommand*\LabelSensitive[1]{\vl@setboolean{Sensitive}{#1}}
\newif\ifTop \Topfalse
\newcommand*\LabelTop[1]{\vl@setboolean{Top}{#1}}
\newif\ifDangerous \Dangerousfalse
\newcommand*\LabelDangerous[1]{\vl@setboolean{Dangerous}{#1}}

\newcommand*\vl@mainTitle{}
\newcommand\vl@mainTitle@i{\huge Versandauftrag}
\newcommand\vl@mainTitle@ii{\normalsize\relscale{1.65} Versandauftrag\par{}
  \normalsize --~Kopie für Versender~--}

\AtBeginDocument{%
  \def\vl@mainTitle{\vl@mainTitle@i}
  \mbox{} \newpage
  \def\vl@mainTitle{\vl@mainTitle@ii}
  \mbox{}
}

\renewcommand*\familydefault{\sfdefault}
\def\huge{\@setfontsize\huge{20.08}{24.2}}
%%\def\large{\@setfontsize\large{11.62}{13.56}}
%%\def\tiny{\@setfontsize\tiny\@viipt\@viiipt}

\newcommand*\checkBox[2][0]{%
  \begingroup
    \fboxrule=0.7bp\fboxsep=0pt % 0.7bp (10pt)
    \raisebox{.3\height}{\fbox{\parbox[c][11bp]{11bp}{%
      \mbox{}\ifcase#1\or\centering\relscale{1.35}$\times$\fi%
    }}}%
  \endgroup\ifx\relax#2\relax\else~\raisebox{.2\height}{#2}\fi%
}

\newcommand*\vl@SelCompany[1]{
  \ifnum\c@vl@TransportType=0 %
    \ifnum\c@vl@ShippingCompany=#1 %
      1%
    \else
      0%
    \fi
  \else
    0%
  \fi
}

\AddToShipoutPictureBG{%
  \frenchspacing
  \AtPageLowerLeft{%
    \linethickness{0.6bp}%
    \vl@tempdima=57bp %
    \vl@tempdimb=58bp %
    \put(\vl@tempdima,\vl@tempdimb){\framebox(\textwidth,\textheight){}}%
    \put(227bp,468bp){\textcolor{thisGray}{\rule{318bp}{129bp}}}%
    % dünne waagerechte Linien
    \put(\vl@tempdima,767bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,739bp){\line(1,0){\textwidth}}%
    \put(227bp,597bp){\line(1,0){318bp}}%
    \put(\vl@tempdima,468bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,417bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,389bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,361bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,267bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,205bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima,104bp){\line(1,0){\textwidth}}%
    \put(\vl@tempdima, 81bp){\line(1,0){\textwidth}}%
    % dünne senkrechte Linien
    \put(227bp,468bp){\line(0,1){299bp}}% hinter "Sachbearbeiter"
    \put(305bp,739bp){\line(0,1){60bp}}% hinter "Telefon"
    \put(389bp,739bp){\line(0,1){28bp}}% hinter "Datum"
    \put(245bp,82bp){\line(0,1){22bp}}% vor "Verpackt durch"
    \put(290bp,\vl@tempdimb){\line(0,1){23bp}}% vor "Unterschrift"
    \put(213bp,361bp){\line(0,1){56bp}}%
    \put(397bp,361bp){\line(0,1){56bp}}%
    \put(407bp,81bp){\line(0,1){60bp}}% vor "Gewicht"
    % Feste Beschriftung
    \put(57bp,780bp){\parbox[c][32bp]{247bp}{\centering\bfseries\vl@mainTitle}}%
    \put(321bp,786bp){\large Physikalisch-Technische Bundesanstalt}%
    \put(343bp,772bp){\large Abbestraße 2--12, 10587 Berlin}%
    \footnotesize
    \vl@tempdimc=758bp %
    \put( 62bp,\vl@tempdimc){Org.-Einheit, Sachbearbeiter}%
    \put(232bp,\vl@tempdimc){Telefon: 030/3481}%
    \put(310bp,\vl@tempdimc){Datum}%
    \put(395bp,\vl@tempdimc){Versandauftrag wurde ausgefüllt von}%
    \vl@tempdimc=728bp %
    \normalsize
    \put(62bp,\vl@tempdimc){\textbf{Versand per:}}%
      \put(62bp,709bp){\checkBox[\ifnum\c@vl@TransportType=0 1\else0\fi]%
        {\textbf{Transportunternehmen}}}%
        \put(77bp,689bp){\checkBox[\vl@SelCompany{0}]{Logiline}}%
        \put(77bp,675bp){\checkBox[\vl@SelCompany{1}]{TNT}}%
        \put(77bp,661bp){\checkBox[\vl@SelCompany{2}]{UPS}}%
        \put(77bp,647bp){\checkBox[\vl@SelCompany{3}]{FedEx}}%
        \put(77bp,633bp){\checkBox[\vl@SelCompany{4}]{Post/DHL Express (unfreier}}%
          \put(94bp,622bp){Versand nur ins Inland)}%
        \put(77bp,606bp){\checkBox[\vl@SelCompany{5}]{}}%
        \put(62bp,543bp){\textbf{Kundennr.:}%
          \ifnum\c@vl@TransportType=0 ~\texttt{\vl@ShippingNo}\fi}%
      \put(62bp,518bp){\checkBox[\ifnum\c@vl@TransportType=1 1\else0\fi]%
        {\textbf{Abholung wird vom}}}%
        \put(77bp,507bp){\textbf{Empfänger veranlasst}}%
      \put(62bp,487bp){\checkBox[\ifnum\c@vl@TransportType=2 1\else0\fi]%
        {\textbf{PTB-Fahrdienst/Kurier}}}%
    \put(233bp,\vl@tempdimc){\textbf{Zustellungsart:}}%
      \put(233bp,709bp){\checkBox[\ifnum\c@vl@Shippingtype=0 1\else0\fi]%
        {Standard \scriptsize(2--3 Tage)}}%
      \put(396bp,709bp){\checkBox[\ifDateOfArrival 1\else0\fi]%
        {Ankunftstag \scriptsize(falls gewünscht)}}%
      \put(233bp,689bp){\checkBox[\ifnum\c@vl@Shippingtype=1 1\else0\fi]%
        {Übernacht-Express}}%
      \put(233bp,667bp){\checkBox[\ifnum\c@vl@Shippingtype=2 1\else0\fi]%
        {andere:}}%
    \put(233bp,580bp){\textbf{\large Reparatur}~(nur bei Bedarf ausfüllen)}%
      \put(233bp,558bp){\checkBox{\textbf{Reparaturschein liegt bei}}}%
      \put(233bp,543bp){\textbf{Lieferscheinnummer:}}%
      \put(233bp,518bp){Mit der Bitte um}%
      \put(233bp,498bp){\checkBox{\textbf{Reparatur im Rahmen der Gewährleistung}}}%
      \put(233bp,478bp){\checkBox{\textbf{Reparaturkosten-Voranschlag}}}%
    \put(62bp,453bp){Angaben zur Zahlungsart:}%
      \put(62bp,433bp){\checkBox[\ifnum\c@vl@ShippingPayment=0 1\else0\fi]%
        {\textbf{frei}~(Kosten trägt die PTB)}}%
      \put(220bp,433bp){\checkBox[\ifnum\c@vl@ShippingPayment=2 1\else0\fi]%
        {\textbf{unfrei}~(Empfänger zahlt)}}%
      \put(370bp,433bp){\checkBox[\ifnum\c@vl@ShippingPayment=1 1\else0\fi]%
        {Kosten werden vom Laboratorium}}%
        \put(386bp,423bp){per \textbf{Kostenbescheid} eingezogen}%
    \footnotesize
    \vl@tempdima=62bp %
    \vl@tempdimc=408bp %
    \put(\vl@tempdima,\vl@tempdimc){Kostenstelle}%
    \put(218bp,\vl@tempdimc){Finanzstelle}%
    \put(401bp,\vl@tempdimc){Titel}%
    \vl@tempdimc=380bp %
    \put(\vl@tempdima,\vl@tempdimc){ggf. SAP-Auftragsnummer}%
    \put(218bp,\vl@tempdimc){Wertangabe}%
    \put(401bp,\vl@tempdimc){PSP-Element}%
    \normalsize
    \vl@tempdimc=350bp %
    \put(\vl@tempdima,\vl@tempdimc){Empfänger (Name, Straße, PLZ, Ort, Land)
      Zustellungen an ein Postfach sind nicht möglich!}%
    \vl@tempdimc=339bp %
    %%%\put(\vl@tempdima,\vl@tempdimc){\textbf{Bei allen Sendungen bitte 
    %%%  Ansprechpartner und Telefonnummer angeben!}}%
    \put(\vl@tempdima,257bp){Inhalt:}%
    \put(\vl@tempdima,194bp){Sendung mit folgendem \textbf{Warnhinweis} versehen:}
      \put(\vl@tempdima,173bp){\checkBox[\ifInflammable 1\else 0\fi]{Feuergefährlich!}}%
      \put(167bp,173bp){\checkBox[\ifGlas 1\else 0\fi]{Vorsicht Glas!}}%
      \put(258bp,173bp){\checkBox[\ifSensitive 1\else 0\fi]{Vorsicht! Empfindliche}}%
         \put(274bp,163bp){Elektrogeräte}%
      \put(386bp,173bp){\checkBox[\ifTop 1\else 0\fi]{Oben}}%
        \put(402bp,163bp){Nicht stürzen!}%
      \put(478bp,173bp){\checkBox[\ifDangerous 1\else 0\fi]{Gefahrgut}}%
    \put(193bp,145bp){{\large\textbf{Nur von der Versandstelle auszufüllen}}}
    \footnotesize
    \vl@tempdimc=132bp %
    \put(\vl@tempdima,\vl@tempdimc){Verpackung}%
      \begingroup
      \vl@tempdimc=111bp %
      \put(\vl@tempdima,\vl@tempdimc){\line(1,0){26bp}}%
      \large
      \put(105bp,\vl@tempdimc){\checkBox{Karton}}%
      \put(168bp,\vl@tempdimc){\checkBox{Kiste}}%
      \put(220bp,\vl@tempdimc){\checkBox{Palette}}%
      \put(281bp,\vl@tempdimc){\checkBox{Versandtasche}}%
      \endgroup
    \put(412bp,\vl@tempdimc){Gewicht}%
      \put(468bp,112bp){{\large kg}}%
    \vl@tempdimc=94bp %
    \put(\vl@tempdima,\vl@tempdimc){Eingang bei Z.1533 am}%
    \put(250bp,\vl@tempdimc){Verpackt durch}%
    \put(412bp,\vl@tempdimc){Abgesandt am}%
    \vl@tempdimc=72bp %
    \put(\vl@tempdima,\vl@tempdimc){Frachtbriefnummer:}%
    \put(295bp,\vl@tempdimc){Unterschrift}%
    % ...
    % Variable Beschriftung
    %
    \vl@tempdima=62bp %
    \begingroup
      \ttfamily\normalsize
      \vl@tempdimc=744bp % -14bp
      \put(\vl@tempdima,\vl@tempdimc){\vl@WorkingGroup,~\vl@Referee}%
      \put(395bp,\vl@tempdimc){\vl@Purchaser}%
      \put(232bp,\vl@tempdimc){\vl@TelefonExtension}%
      \put(310bp,\vl@tempdimc){\vl@Date}%
      \put(411bp,695bp){\vl@DateOfArrival}%
      \vl@tempdimc=394bp % -14bp
      \put(\vl@tempdima,\vl@tempdimc){\vl@CostUnit}%
      \put(218bp,\vl@tempdimc){\vl@FinanceUnit}%
      \put(401bp,\vl@tempdimc){\vl@Account}%
      \vl@tempdimc=366bp %
      \put(\vl@tempdima,\vl@tempdimc){\vl@SAPNo}%
      \put(218bp,\vl@tempdimc){\vl@Value}%
      \put(401bp,\vl@tempdimc){\vl@PSP}% PSP-Element
      \put(\vl@tempdima,327bp){%
        \parbox[t]{0.975\textwidth}{%
          \small\setstretch{0.8}
          \vl@ShippingName \\
          \vl@ShippingContact \\
          \vl@ShippingStreet \\
          \vl@ShippingZipcode~\vl@ShippingTown \\
          \vl@ShippingLand
        }%
      }%
      \put(93bp,257bp){\lfitbox[t]{447bp}{56bp}{%
        \begin{sloppypar}\vl@Content\end{sloppypar}}}%
    \endgroup
  }
  \AtPageLowerLeft{%
    \put(57bp,58bp){%
      \linethickness{1.4bp}%
      \framebox(\textwidth,99bp){}%
      \put(0,83bp){\line(-1,0){\textwidth}}%
    }
  }
}%

\emergencystretch=3em %
\pagestyle{empty}

\endinput

