Skip to content
Snippets Groups Projects
vl-addressLabels.cls 5.51 KiB
Newer Older
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed

\setcounter{errorcontextlines}{100}
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{vl-addressLabels}
    [2016/02/01 v0.1g 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}}

Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
\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}

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

\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}
\IfLanguageName{ngerman}{%
  \RequirePackage[babel=once,german=guillemets]{csquotes}
  \AtEndOfClass{\shorthandon{"}}
  \defineshorthand{"`}{\openautoquote}
  \defineshorthand{"'}{\closeautoquote}
  \MakeAutoQuote{»}{«}
}{%
  \RequirePackage[babel=once]{csquotes}
}

\RequirePackage{picture}

\let\@tempdimd=\@clnwd
\let\@tempdime=\@clnht
\let\@tempdimf=\@dashdim

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

\RequirePackage{url}

\RequirePackage[
% factor=1500
% ,verbose=true
,final=true
% ,letterspace=100
,babel=true
]{microtype}

Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
\newcommand*\vlReturn{%
  \parbox[t]{\paperwidth}{%
    Dr.~Karl Jousten \par
    \IfLanguageName{ngerman}{%
      Leiter der Arbeitsgruppe für Vakuummetrologie
    }{%
      Head of Section Vacuum Metrology
    }\par
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
    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(30mm,\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}%
}

\RequirePackage{trimspaces}

\newcommand\firm[1]{%
  \begingroup
  \let\\=\relax
  \xdef\vl@firm{\trim@spaces{#1}}
  \endgroup
}
\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}}}
Rolf Niepraschk's avatar
...
Rolf Niepraschk committed
\let\land=\relax
\newcommand*\land[1]{\xdef\vl@land{\trim@spaces{#1}}}

\emergencystretch=1em %
\pagestyle{empty}

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