Skip to content
Snippets Groups Projects
vl-addressLabels.cls 5.78 KiB

\setcounter{errorcontextlines}{100}
\listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-addressLabels}
    [2018/07/13 v0.1h 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,twoside=false,headinclude}{typearea}

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

\def\huge{\@setfontsize\huge{20.26}{25.3}}
\def\large{\@setfontsize\large{12.17}{14.2}}
\def\tiny{\@setfontsize\tiny\@viipt\@viiipt}

\raggedbottom% ???

\RequirePackage{textcomp}

\RequirePackage{eso-pic,graphicx}

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

\ifXeOrLua% XeLaTeX oder luaLaTeX

\typeout{############################ XeLaTeX oder luaLaTeX}

\usepackage[no-math]{fontspec}
\usepackage{unicode-math}
%%%\setmainfont[Ligatures=TeX]{TeX Gyre Heros}
%%%\setsansfont[Ligatures=TeX]{TeX Gyre Heros}
\iffalse
\setsansfont
[Ligatures=TeX
%,AutoFakeSlant% default: 0.2
%,AutoFakeBold% default: 1.5
,BoldFont=*
,BoldFeatures={FakeBold=2.5}
,SlantedFont=*
,SlantedFeatures={FakeSlant=0.2}
,ItalicFont=*
,ItalicFeatures={FakeSlant=0.2}
,BoldSlantedFont=*
,BoldSlantedFeatures={FakeBold=2.5,FakeSlant=0.2}
,BoldItalicFont=*
,BoldItalicFeatures={FakeBold=2.5,FakeSlant=0.2}
]{Arial Unicode MS}
\else
\setsansfont[Ligatures=TeX]{TeXGyreHeros}
\fi


\setmonofont[Scale=MatchLowercase]{Latin Modern Mono}

\renewcommand*\familydefault{\sfdefault}

%\setmathfont[math-style=ISO,bold-style=ISO]{XITS Math}
\setmathfont[math-style=ISO,bold-style=ISO]{Asana Math}
%\setmathfont[math-style=ISO,bold-style=ISO]{Latin Modern Math}
%\setmathfont[math-style=ISO,bold-style=ISO]{TeX Gyre Pagella Math}
%\setmathfont[math-style=ISO,bold-style=ISO]{TeX Gyre Termes Math}

%%% TODO: Evtl. auch hier Arial
%%%\setmathfont[version=bold,FakeBold=2.5]{Arial Unicode MS}

\setmathfont[range=\mathup,Scale=MatchLowercase]{TeXGyreHeros-Regular}
\setmathfont[range=\mathit,Scale=MatchLowercase]{TeXGyreHeros-Italic}
\setmathfont[range=\mathbfup,Scale=MatchLowercase]{TeXGyreHeros-Bold}
\setmathfont[range=\mathbfit,Scale=MatchLowercase]{TeXGyreHeros-BoldItalic}
\setmathfont[range=\mathsfup,Scale=MatchLowercase]{TeXGyreHeros-Regular}
\setmathfont[range=\mathsfit,Scale=MatchLowercase]{TeXGyreHeros-Italic}
\setmathfont[range=\mathbfsfup,Scale=MatchLowercase]{TeXGyreHeros-Bold}
\setmathfont[range=\mathbfsfit,Scale=MatchLowercase]{TeXGyreHeros-BoldItalic}
\setmathfont[range=\mathpunct]{TeXGyreHeros-Regular}



\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[\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{%
  \parbox[t]{\paperwidth}{%
    \ifx\vl@handledby\@empty AG~7.54\else\vl@handledby\fi\par
    \iffalse
    \IfLanguageName{ngerman}{%
      Leiter der Arbeitsgruppe für Vakuummetrologie
    }{%
      Head of Section Vacuum Metrology
    }\par
    \fi
    Physikalisch-Technische Bundesanstalt \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
  }
}

\newcommand\vlAddress{%
  \begingroup
    \huge\bfseries
    \parbox[t]{\paperwidth}{%
      \ifx\vl@firm\@empty\else\vl@firm \par \fi
      \ifx\vl@attn\@empty\else\vl@attn~\fi
      \ifx\vl@name\@empty\else\vl@name \par \fi
      \vl@street \par
      \vl@zip~\vl@town \par\bigskip
      \vl@land
    }%
  \endgroup
}

\newcommand*\vlLabels{%
  \put(20mm,\dimexpr\paperheight-20mm){\vlReturn}%
  \put(60mm,\dimexpr\paperheight-80mm){\vlAddress}%
  \put(0,.5\paperheight){\parbox[b]{\paperwidth}{\dotfill}}%
  \put(20mm,\dimexpr.5\paperheight-20mm){\vlReturn}%
  \put(60mm,\dimexpr.5\paperheight-80mm){\vlAddress}%
}

\RequirePackage{trimspaces}

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

\emergencystretch=1em %
\pagestyle{empty}

\endinput
%%
%% End of file `vl-addressLabels.cls'.