Skip to content
Snippets Groups Projects
ptbposter.cls 17.8 KiB
Newer Older
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de

\setcounter{errorcontextlines}{100}  \listfiles

\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{ptbposter}
    [2016/01/19 v0.3f PTB-Poster-Klasse (RN)]
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\newdimen\PTB@topmargin      % Abstand zum Rahmen
\newdimen\PTB@leftmargin     % Abstand zum Rahmen
\newdimen\PTB@default@fsize@base  % Bezugsgröße für Standardschriftgröße im Textbereich
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\newdimen\PTB@default@fsize  % Standardschriftgröße im Textbereich (\normalsize)
\newdimen\PTB@default@tfsize % Standardschriftgröße für den Titel
\newdimen\PTB@default@afsize % Standardschriftgröße für die Autoren
\newdimen\PTB@default@ffsize % Standardschriftgröße im Fußbereich
\newdimen\PTB@texthsep       % Abstand Textbereich zum blauen Rahmen
\newdimen\PTB@textvsep       % Abstand Textbereich zum blauen Rahmen
\newdimen\PTB@framewidth     % Breite des blauen Rahmens
\newdimen\PTB@frameheight    % Höhe des blauen Rahmens
\newdimen\PTB@scale@base     % Bezugsgröße für papierabhängige Größenberechnung
\newcommand*\authorFontSize{}
\newcommand*\footFontSize{}
\newcommand*\titleFontSize{}
\newcommand\PTB@tempa{}
\newcommand\PTB@tempb{}
\newcommand\PTB@tempc{}
\newcommand\PTB@tempd{}
\newcommand\PTB@tempe{}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\let\PTB@tempdima=\@ovxx
\let\PTB@tempdimb=\@ovyy
\let\PTB@tempdimc=\@ovdx

\newcounter{PTB@tempcnta}
\newcounter{PTB@tempcntb}
Rolf Niepraschk's avatar
Rolf Niepraschk committed

\newif\ifPTB@landscape \PTB@landscapefalse
\newif\ifPTB@XeOrLua \PTB@XeOrLuafalse
\newif\ifPTB@serif \PTB@seriffalse

\RequirePackage{ifluatex,ifxetex}
\ifxetex\PTB@XeOrLuatrue\else\ifluatex\PTB@XeOrLuatrue\fi\fi
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\DeclareOption{sanserif}{% noch experimentell! Besser: luaTeX/xeTeX + OTF
  \PTB@seriffalse
\DeclareOption{serif}{%
  \PTB@seriftrue
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrartcl}}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\ExecuteOptions{portrait,serif}
\ProcessOptions\relax
\RequirePackage{hyphsubst}% Trennregeln austauschen
\HyphSubstIfExists{ngerman-x-latest}{%
  \HyphSubstLet{ngerman}{ngerman-x-latest}}{}
\HyphSubstIfExists{german-x-latest}{%
  \HyphSubstLet{german}{german-x-latest}}{}

Rolf Niepraschk's avatar
Rolf Niepraschk committed
\RequirePackage{etoolbox}
\preto\@classoptionslist{a0paper,portrait,ngerman,}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
% Ohne Sprachangabe "deutsch" verwenden. Bessere Lösung?

Rolf Niepraschk's avatar
Rolf Niepraschk committed
\LoadClass[%
%,headings=normal
%,parskip=half
]{scrartcl}
\@ifundefined{changefontsizes}{%
  \ClassError{ptbposter}{%
    Deine Version von KOMA-Script ist ungeeignet (vermutlich stark veraltet)!
  }{%
    Installiere die aktuelle Version von KOMA-Script.
  }%
}{}

\RequirePackage{amsmath}

\ifPTB@XeOrLua
  \RequirePackage[no-math]{fontspec}
  \RequirePackage{unicode-math}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \setromanfont[Ligatures=TeX]{TeX Gyre Pagella}
  \setsansfont[Ligatures=TeX]{TeX Gyre Heros}
  %\setmonofont[Scale=0.88]{DejaVu Sans Mono}
  %%%\setmonofont[Scale=1.05]{Latin Modern Mono}
  \setmonofont{AnonymousPro-Regular}[%
    Extension = .ttf,
    BoldFont = AnonymousPro-Bold,
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    ItalicFont = AnonymousPro-Italic,
    BoldItalicFont = AnonymousPro-BoldItalic,
    Scale     = MatchLowercase
  ]
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  %%%\setmonofont[Scale=MatchLowercase]{Anonymous Pro}%
  %%% Fehler "This font using the "seac" command for accented characters"
  %%% Behoben in "XeTeX 3.14159265-2.6-0.99992 "!
  \ifPTB@serif
    \setmathfont[math-style=ISO,bold-style=ISO]{TeXGyrePagellaMath-Regular}
  \else
    \setmathfont[math-style=ISO,bold-style=ISO]{Asana Math}
    \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}
  \fi
\else
  \RequirePackage[utf8]{inputenc}
  \RequirePackage[T1]{fontenc}
  \RequirePackage{textcomp}
  \RequirePackage{tgpagella,qpxmath}
  \RequirePackage{tgheros}
  %\RequirePackage[scaled=.88]{DejaVuSansMono}
  %%%\RequirePackage[scaled=1.05]{zlmtt}% ist lmodern!
  \RequirePackage[ttdefault=true,scale=1.034]{AnonymousPro}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \ifPTB@serif\else\RequirePackage{sfmath}\fi
\fi

\ifPTB@serif
  \renewcommand*\familydefault{\rmdefault}
\else
  \renewcommand*\familydefault{\sfdefault}
\fi

Rolf Niepraschk's avatar
Rolf Niepraschk committed
\RequirePackage[verbose]{geometry}% Papiergröße steht bereits fest (Standard: A0)

\ifdim\paperheight>\paperwidth
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \setlength\PTB@scale@base{\paperheight}
  \PTB@landscapefalse
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \setlength\PTB@scale@base{\paperwidth}
  \PTB@landscapetrue
\setlength\PTB@default@fsize@base{0.0130170299199\PTB@scale@base}% 11pt bei A4
\setlength\PTB@default@afsize{0.0157550946737\PTB@scale@base}%   53.3pt bei A0
\setlength\PTB@default@tfsize{0.0315101893474\PTB@scale@base}%  106.6pt bei A0
\setlength\PTB@default@ffsize{0.00567538119577\PTB@scale@base}%  19.2pt bei A0
\newcommand*\scaleFontSizes[1]{%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \global\PTB@default@fsize=#1\PTB@default@fsize@base

\newcommand*\scaleTitleFontSize[1]{%
  \PTB@tempdima=\PTB@default@tfsize
  \PTB@tempdima=#1\PTB@tempdima
  \PTB@tempdimb=1.2\PTB@tempdima
  \xdef\titleFontSize{\noexpand\@setfontsize
    \noexpand\titleFontSize{\the\PTB@tempdima}{\the\PTB@tempdimb}}%
}

Rolf Niepraschk's avatar
Rolf Niepraschk committed
\scaleFontSizes{1}%     wird ggf. in Präambel noch mal geändert.
\scaleTitleFontSize{1}% wird ggf. in Präambel noch mal geändert.
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\edef\authorFontSize{\noexpand\@setfontsize\noexpand\authorFontSize{%
  \the\PTB@default@afsize}{\the\dimexpr1.2\PTB@default@afsize}}
\edef\footFontSize{\noexpand\@setfontsize\noexpand\footFontSize{%
  \the\PTB@default@ffsize}{\the\dimexpr1.2\PTB@default@ffsize}}

\RequirePackage[svgnames]{xcolor}
\RequirePackage{multicol,graphicx}

\ifxetex\else
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\RequirePackage[%
,factor=1500
,protrusion=true
,expansion=true
,verbose=true
,final=true
,letterspace=100
,babel=true
]{microtype}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\AtEndOfClass{%
  \shorthandon{"}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \@tempswafalse
  \iflanguage{ngerman}{\@tempswatrue}{%
    \iflanguage{german}{\@tempswatrue}{}%
  }
  \if@tempswa
    \defineshorthand{"`}{\guillemotright}%
    \defineshorthand{"'}{\guillemotleft}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \fi
  \RequirePackage[final,pdfpagelabels=false,%
    plainpages=false,hypertexnames=true,hyperfootnotes=false]{hyperref}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\RequirePackage
  [autostyle=true,babel=once,german=guillemets,maxlevel=3]{csquotes}%
\newcommand*\PTB@qrcode{}
\newcommand*\QRcode[1]{\gdef\PTB@qrcode{#1}}
\newcommand*\PTB@location{38116~Braunschweig}
\newcommand*\location[1]{\gdef\PTB@location{#1}}
\newcommand*\PTB@street{Bundesallee~100}
\newcommand*\street[1]{\gdef\PTB@street{#1}}
\newcommand*\PTB@workingGroup{Arbeitsgruppe}
\newcommand*\workingGroup[1]{\gdef\PTB@workingGroup{#1}}
\newcommand*\PTB@department{Fachbereich}
\newcommand*\department[1]{\gdef\PTB@department{#1}}
\newcommand*\PTB@phone{}
\newcommand*\phone[1]{\gdef\PTB@phone{#1}}
\newcommand*\PTB@email{}
\newcommand*\email[1]{\gdef\PTB@email{#1}}
\newcommand*\PTB@fax{}
\newcommand*\fax[1]{\gdef\PTB@fax{#1}}
\newcommand*\PTB@final@paper{}
\newcommand*\scaletoPaper[1]{\gdef\PTB@final@paper{#1}}

\definecolor{PTBcolor}{rgb}{0,0.67451,0.87451}

\RequirePackage[texcoord]{eso-pic}
\RequirePackage{pict2e,picture,ifdraft,booktabs}
\RequirePackage{qrcode}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\AddToShipoutPictureBG*{% Kopf (relativ zur oberen Blattkante)
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \PTB@tempdima=-0.08023549218\PTB@scale@base
  \put(\PTB@leftmargin,\PTB@tempdima){%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \includegraphics[width=.401\PTB@scale@base]{ptbposter-logo.pdf}}%
  \PTB@tempdima=-0.125\PTB@scale@base
  \put(\PTB@leftmargin,\PTB@tempdima){\parbox[c]{\textwidth}{%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \sffamily\titleFontSize\@title}}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \PTB@tempdima=-0.159798150044\PTB@scale@base
  \def\and{, }%
  \put(\PTB@leftmargin,\PTB@tempdima){\sffamily\authorFontSize\@author}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  % hier wird \@thanks gefüllt
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \PTB@tempdima=0.00168208578994\PTB@scale@base
  \linethickness{\PTB@tempdima}\color{PTBcolor}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \PTB@tempdima=-0.0883095039717\PTB@scale@base
  \put(\PTB@leftmargin,\PTB@tempdima){%
    \line(1,0){\dimexpr\paperwidth-2\PTB@leftmargin}}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  % blauer Rahmen
  \put(\PTB@leftmargin,\dimexpr-\textheight-2\PTB@textvsep-\PTB@topmargin)%
    {\framebox(\dimexpr\textwidth+2\PTB@texthsep,%
     \dimexpr\textheight+2\PTB@textvsep){}}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\AddToShipoutPictureBG*{% Fuß (relativ zur unteren Kante des Textbereichs)
    \put(-\PTB@texthsep,-\PTB@textvsep){%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdimb=0.000420521447484\PTB@scale@base
      \linethickness{\PTB@tempdimb}\normalcolor
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdima=-0.0420521447484\PTB@scale@base
      \put(-.5\@wholewidth,\PTB@tempdima){%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
        \PTB@tempdima=0.0386879731686\PTB@scale@base
        \PTB@tempdimb=0.00168208578994\PTB@scale@base
        \ifx\PTB@qrcode\@empty
          \color{PTBcolor}\framebox(\PTB@tempdima,\PTB@tempdima){}%
          \raisebox{0.7\height}{%
            \qrcode[height=\PTB@tempdima,tight]{\PTB@qrcode}}%
        \fi
        \color{PTBcolor}
        \hspace{\PTB@tempdimb}\raisebox{-\@wholewidth}{%
          \rule{\dimexpr\PTB@tempdima+2\@wholewidth}%
            {\dimexpr\PTB@tempdima+2\@wholewidth}}%
        \hspace{\PTB@tempdimb}\framebox(\PTB@tempdima,\PTB@tempdima){}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdimb=-0.00841042894969\PTB@scale@base
      \footFontSize\sffamily\normalcolor
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdima=0.122792262665\PTB@scale@base
      \put(\PTB@tempdima,\PTB@tempdimb){%
        \begin{tabular}[t]{@{}l@{}}
          Physikalisch-Technische Bundesanstalt \\
          Braunschweig und Berlin \\[\f@baselineskip]
          \ifx\first@author\@empty\else \textbf{\first@author}\\\fi
          \ifx\PTB@department\@empty\else \PTB@department\\\fi
          \ifx\PTB@workingGroup\@empty\else \PTB@workingGroup\\\fi
        \end{tabular}%
      }
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdima=0.263246426125\PTB@scale@base
      \put(\PTB@tempdima,\PTB@tempdimb){%
        \begin{tabular}[t]{@{}ll@{}}
          \ifx\PTB@street\@empty\else\multicolumn{2}{@{}l@{}}{\PTB@street}\\\fi
          \ifx\PTB@location\@empty\else\multicolumn{2}{@{}l@{}}{\PTB@location}\\\fi
          \ifx\PTB@phone\@empty\else Telefon:&\PTB@phone\\\fi
          \ifx\PTB@fax\@empty\else Fax:&\PTB@fax\\\fi
          \ifx\PTB@email\@empty\else E-Mail:&\href{mailto:\PTB@email}{\PTB@email}\\\fi
          \multicolumn{2}{@{}l@{}}{\href{http://www.ptb.de/}{www.ptb.de}}
        \end{tabular}%
      }
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      \PTB@tempdima=0.378469302736\PTB@scale@base
      \put(\PTB@tempdima,\PTB@tempdimb){%
        \begin{tabular}[t]{@{}l@{}}
          \@thanks % wurde bei der Ausführung von \@author gefüllt.
        \end{tabular}%
      }
% ===== Behandlung der Autoren (siehe ptb-abstracts.sty ) =====

\newcommand*\first@author{}
\def\author#1{}
\def\@author{}

\renewcommand\footnotetext[2][]{%
  \textsuperscript{#1}\,#2\\
}

\newcommand\PTB@dec@footnotemark[1][]{%
  \addtocounter{footnote}{-1}%
  \begingroup
    \edef\PTB@tempa{#1}%
    \ifx\PTB@tempa\@empty\footnotemark\else\footnotemark[#1]\fi
  \endgroup
}

\newcommand\PTB@fnmark[1]{%
  \begingroup
    \unrestored@protected@xdef\@thefnmark{#1}%
  \endgroup
  %\show\@thefnmark
  \@footnotemark}

\newcommand\Author{%
  \begingroup
    \@ifstar{\@tempswatrue\@Author}{\@tempswafalse\@Author}}

\newcommand\@Author[2][]{%     \PTB@tempa=[footnotemark],\PTB@tempb={Firstname}
  \def\PTB@tempa{#1}\def\PTB@tempb{#2}%
\newcommand\@@Author[2][]{%    \PTB@tempc=[alt. Firstname],\PTB@tempd={Surname}
  \def\PTB@tempc{#1}\def\PTB@tempd{#2}%
\newcommand\@@@Author[1][]{%   \PTB@tempe=[Address]
    \def\PTB@tempe{#1}%
    \ifx\PTB@tempd\@empty
      % Empty Surname = Addition to the previous author
      \g@addto@macro\@author{\PTB@fnmark{,}}%
    \else
      \ifx\@author\@empty
        \xdef\@author{\PTB@tempb~\PTB@tempd}%
        \xdef\first@author{\PTB@tempb~\PTB@tempd}%
      \else
        \expandafter\g@addto@macro\expandafter\@author
          \expandafter{\expandafter\and\PTB@tempb~}%
        \expandafter\g@addto@macro\expandafter\@author
          \expandafter{\PTB@tempd}% I like it ;-(
      \fi
    \fi
    \if@tempswa
      %                --> \Author*
      \g@addto@macro\@author{\PTB@dec@footnotemark}%
    \fi
    \ifx\PTB@tempa\@empty\else
      \expandafter\g@addto@macro\expandafter\@author
        \expandafter{\expandafter\PTB@fnmark\expandafter{\PTB@tempa}}%
    \ifx\PTB@tempe\@empty\else
      \if@tempswa
        \g@addto@macro\@author{\PTB@fnmark{,}}%
      \fi
      \expandafter\g@addto@macro\expandafter\@author
        \expandafter{\expandafter\thanks\expandafter{\PTB@tempe}}%
    \fi
  \endgroup
}

\let\PTB@thanks\thanks
\renewcommand\thanks[2][]{%
  \begingroup
    \def\PTB@tempa{#2}%
    \ifx\PTB@tempa\@empty
      \footnotemark[\value{footnote}]%
    \else
      \PTB@thanks{#2}%
    \fi
  \endgroup
}%

\renewcommand*\labelitemi{$\m@th\circ$}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\renewcommand*\labelitemii{\textbullet}
\renewcommand*\labelitemiii{$\m@th\diamond$}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\renewcommand*\labelitemiv{$\m@th\triangleright$}%
\newcommand*\PTB@scaletoPaper[1]{%
  \begingroup
    \c@PTB@tempcnta=\paperheight
    \iso@paper{#1}%
    \c@PTB@tempcntb=\paperheight
    \c@PTB@tempcnta=\dimexpr \c@PTB@tempcntb sp * 1000 / \c@PTB@tempcnta %
    \global\mag\c@PTB@tempcnta
\AtBeginDocument{%
  % Skalierungen in der Präambel sind passiert.
  %%%\makeatletter\input{ptbposter-size.clo}\makeatother
  %%%\makeatletter\input{ptbposter.patch}\makeatother% weiter vorn! Test auf Version
  \changefontsizes{\the\PTB@default@fsize}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \KOMAoptions{headings=normal,parskip=half} \normalsize
  \setlength\PTB@texthsep{.75em}%
  \setlength\PTB@textvsep{.75em}%
  \ifx\@author\@empty
    \setlength\PTB@topmargin{0.152\PTB@scale@base}%
  \else
    \setlength\PTB@topmargin{0.180824222418\PTB@scale@base}%
  \fi
  \ifPTB@landscape
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \setlength\PTB@framewidth{0.950378471315\PTB@scale@base}%  3215pt (1130mm) bei A0
    \ifx\@author\@empty
      \setlength\PTB@frameheight{0.490824222418\PTB@scale@base}% 1565pt  (550mm) bei A0
      \setlength\PTB@frameheight{0.462\PTB@scale@base}% 1565pt  (550mm) bei A0
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \setlength\PTB@framewidth{0.656013458076\PTB@scale@base}%  2219pt  (780mm) bei A0
    \ifx\@author\@empty
      \setlength\PTB@frameheight{0.769\PTB@scale@base}% 2504pt  (880mm) bei A0
    \else
      \setlength\PTB@frameheight{0.740117747573\PTB@scale@base}% 2504pt  (880mm) bei A0
    \fi
  \setlength\PTB@leftmargin{0.5\dimexpr\paperwidth-\PTB@framewidth}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \edef\PTB@tempa{%
    \noexpand\newgeometry{%
      columnsep=1.5em,hcentering,%
      top=\the\dimexpr\PTB@topmargin+\PTB@textvsep,%
      textwidth=\the\dimexpr\PTB@framewidth-2\PTB@texthsep,%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
      textheight=\the\dimexpr\PTB@frameheight-2\PTB@textvsep}%
    \noexpand\normalsize
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \typeout{XXXXXXXXXXXXXXXXXXXXXXXXXXXXX}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \PTB@tempa
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \iffalse
  \paperwidth=2392.87677pt %
  \paperheight=3383.03267pt %
  \textwidth=2175.25656pt %
  \textheight=2437.77509pt %
  \oddsidemargin=36.54012pt %
  \evensidemargin=36.54012pt %
  \topmargin=535.06314pt %
  \headheight=17.0pt %
  \headsep=20.40001pt %
  \topskip=11.0pt %
  \footskip=47.6pt %
  \marginparwidth=59.7508pt %
  \marginparsep=12.8401pt %
  \columnsep=88.06537pt %
  \fi
  \typeout{YYYYYYYYYYYYYYYYYYYYYYYYYYYYY}%
  %\columnsep=2em %
  %\textwidth=\the\dimexpr\PTB@framewidth-2\PTB@texthsep
  %\textheight=\the\dimexpr\PTB@frameheight-2\PTB@textvsep
  \ifx\PTB@final@paper\@empty\else\PTB@scaletoPaper{\PTB@final@paper}\fi
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  %\KOMAoptions{parskip=half}
  %\KOMAoptions{headings=normal,parskip=half}

  \setlength\emergencystretch{3em}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed

  \@ifpackageloaded{multicol}{%
    \def\setemergencystretch#1#2{}%
Rolf Niepraschk's avatar
Rolf Niepraschk committed

  \RequirePackage{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
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \setlength\leftmargini{1.5em}
  \setlength\leftmarginii{1.1em}
  \setlength\leftmarginiii{1.1em}
  \setlength\leftmarginiv{1.1em}
  \setlength\labelsep{.5em}
\KOMAoptions{captions=oneline}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\newcommand*\ptb@figure{%
  \trivlist\item\relax
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \minipage{\linewidth}%
      \def\@captype{figure}%
}
\newcommand*\ptb@table{%
  \trivlist\item\relax
Rolf Niepraschk's avatar
Rolf Niepraschk committed
    \minipage{\linewidth}%
      \def\@captype{table}%
}

\newcommand*\ptb@endfigtab{%
    \endminipage
  \endtrivlist
}

\renewenvironment{figure}[1][]{%
  \ptb@figure
}{\ptb@endfigtab}
\renewenvironment{figure*}[1][]{%
  \ptb@figure
}{\ptb@endfigtab}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\renewenvironment{table}[1][]{%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \ptb@table
}{\ptb@endfigtab}
\renewenvironment{table*}[1][]{%
Rolf Niepraschk's avatar
Rolf Niepraschk committed
  \ptb@table
}{\ptb@endfigtab}
\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\sffamily\bfseries}
\setcapindent{1em}
%\setcapwidth[l]{\linewidth}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\AtBeginDocument{%
\RedeclareSectionCommand[%
  style=section,%
  level=1,%
  indent=\z@,%
  beforeskip=-3.5ex \@plus -1ex \@minus -.2ex,%
  afterskip=0.1ex \@plus.2ex,%
  tocindent=0pt,%
  tocnumwidth=1.5em%
]{section}
\RedeclareSectionCommand[%
  style=section,%
  level=2,%
  indent=\z@,%
  beforeskip=-1.2ex\@plus -1ex \@minus -.2ex,%
  afterskip=0.1ex \@plus .2ex,%
  tocindent=1.5em,%
  tocnumwidth=2.3em%
]{subsection}
\RedeclareSectionCommand[%
  style=section,%
  level=3,%
  indent=\z@,%
  beforeskip=-1.2ex\@plus -1ex \@minus -.2ex,%
  afterskip=0.1ex \@plus .2ex,%
  tocindent=3.8em,%
  tocnumwidth=3.2em%
]{subsubsection}
\RedeclareSectionCommand[%
  style=section,%
  level=4,%
  indent=\z@,%
  beforeskip=1.2ex \@plus1ex \@minus.2ex,%
  afterskip=-1em,%
  tocindent=7.0em,%
  tocnumwidth=4.1em%
]{paragraph}
\RedeclareSectionCommand[%
  style=section,%
  level=5,%
  indent=\scr@parindent,%
  beforeskip=1.2ex \@plus1ex \@minus .2ex,%
  afterskip=-1em,%
  tocindent=10em,%
  tocnumwidth=5em%
]{subparagraph}
}

\setcounter{secnumdepth}{-2}
\renewcommand*\maketitle[1][1]{}
\renewcommand*\tableofcontents{}
\pagestyle{empty}
Rolf Niepraschk's avatar
Rolf Niepraschk committed
\raggedbottom