Newer
Older
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\setcounter{errorcontextlines}{100} \listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\newif\ifPTB@useCMYK \PTB@useCMYKfalse % vorerst
\newif\ifPTB@german@ \PTB@german@true
\newdimen\PTB@topmargin % Abstand zum Rahmen
\newdimen\PTB@leftmargin % Abstand zum Rahmen
\newdimen\PTB@default@fontsize@base % Bezugsgröße für Standardschriftgröße im Textbereich
\newdimen\PTB@default@title@fontsize@base % Bezugsgröße für Standardschriftgröße im Titel
\newdimen\PTB@default@fsize % Standardschriftgröße im Textbereich (\normalsize)
\newdimen\PTB@default@title@fontsize % Standardschriftgröße für den Titel
\newdimen\PTB@default@author@fontsize % Standardschriftgröße für die Autoren
\newdimen\PTB@default@foot@fontsize % 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@framethickness % Dicke des blauen Rahmens
\newdimen\PTB@scale@base % Bezugsgröße für papierabhängige Größenberechnung
\newdimen\PTB@maxtitleheight % Maximale Höhe des Titels
\newcommand*\authorFontSize{}
\newcommand*\footFontSize{}
\newcommand*\titleFontSize{}
\newcommand\PTB@tempa{}
\newcommand\PTB@tempb{}
\newcommand\PTB@tempc{}
\newcommand\PTB@tempd{}
\newcommand\PTB@tempe{}
\let\PTB@tempdimc=\@ovdx
\newcounter{PTB@tempcnta}
\newcounter{PTB@tempcntb}
\RequirePackage{ifluatex,ifxetex}
\ifxetex\PTB@XeOrLuatrue\else\ifluatex\PTB@XeOrLuatrue\fi\fi
\PassOptionsToPackage{pagesize=false}{typearea}
\PassOptionsToPackage{paper=a0paper,onecolumn,portrait}{geometry}
\newcommand*\PTB@title@justification{\relax}
\newcommand*\PTB@authors@justification{\relax}
\newcommand*\PTB@title@series{\relax}
\DeclareOption{sanserif}{% noch experimentell! Besser: LuaTeX/XeTeX + OTF
\global\let\PTB@title@series=\bfseries
}
\global\let\PTB@title@justification=\centering
}
\DeclareOption{centerAuthors}{%
\global\let\PTB@authors@justification=\centering
}
\DeclareOption{a4paper}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{a3paper}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{a2paper}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{a1paper}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{a0paper}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{landscape}{%
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{shortPTBlogo}{%
\PTB@logo@long@false
}
\DeclareOption{layout2018}{%
\def\PTB@layout{0}%
\DeclareOption{layout2020}{%
\def\PTB@layout{1}%
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{babel}}
\ExecuteOptions{serif,raggedTitle,layout2020}
\RequirePackage{hyphsubst}% Trennregeln austauschen
\HyphSubstIfExists{ngerman-x-latest}{%
\HyphSubstLet{ngerman}{ngerman-x-latest}}{}
\HyphSubstIfExists{german-x-latest}{%
\HyphSubstLet{german}{german-x-latest}}{}
\preto\@classoptionslist{ngerman,}
% Ohne Sprachangabe "deutsch" verwenden. Bessere Lösung?
\LoadClass{scrartcl}
\usepackage[verbose]{geometry}%
\@ifundefined{changefontsizes}{%
\ClassError{ptbposter}{%
Deine Version von KOMA-Script ist ungeeignet (vermutlich stark veraltet)!
}{%
Installiere die aktuelle Version von KOMA-Script.
}%
}{}
\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
\RequirePackage{multicol,graphicx}
,factor=1500
,protrusion=true
,expansion=true
,verbose=true
,final=true
,letterspace=100
,babel=true
]{microtype}
\PTB@german@false
\iflanguage{ngerman}{\PTB@german@true}{%
\iflanguage{german}{\PTB@german@true}{}%
\defineshorthand{"`}{\guillemotright}%
\defineshorthand{"'}{\guillemotleft}%
\RequirePackage[final,pdfpagelabels=false,%
plainpages=false,hypertexnames=true,hyperfootnotes=false]{hyperref}%
[autostyle=true,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@logo{}
\newcommand*\logo[1]{\gdef\PTB@logo{#1}}
\ifPTB@useCMYK
\definecolor{PTBcolor}{cmyk}{1,0.32549,0.12549,0.12549}
\else
%%%\definecolor{PTBcolor}{rgb}{0,0.67451,0.87451}
%%%\definecolor{PTBcolor}{HTML}{00ACDF}
\definecolor{PTBcolor}{RGB}{0,155,206}% 2019
\RequirePackage[texcoord]{eso-pic}
% ===== Behandlung der Autoren (siehe ptb-abstracts.sty ) =====
\def\@author{}
\renewcommand\footnotetext[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
\@footnotemark}
\newcommand\PTB@isnum[1]{%
\if!\ifnum9<1#1!\else_\fi\expandafter\@firstoftwo
\else\expandafter\@secondoftwo\fi}%
\newcommand\Author{%
\begingroup
\@ifstar{\@tempswatrue\@Author}{\@tempswafalse\@Author}}
\newcommand\@Author[2][]{% \PTB@tempf=[!],\PTB@tempb={Firstname}
\def\PTB@tempf{#1}\def\PTB@tempb{#2}% TODO: ggf. weiterer Optionen in #1
\newcommand\@@Author[2][]{% \PTB@tempc=[alt. Firstname],\PTB@tempd={Surname}
\def\PTB@tempc{#1}\def\PTB@tempd{#2}% TODO: \PTB@tempc unsinnig, oder?
\newcommand\@@@Author[1][]{% \PTB@tempe=[Address]
\def\PTB@tempe{#1}%
\ifx\PTB@tempd\@empty
% Empty Surname = Addition to the previous author
\xdef\@author{\PTB@tempb~\PTB@tempd}%
\xdef\first@author{\PTB@tempb~\PTB@tempd}%
\else
\expandafter\g@addto@macro\expandafter\@author
\expandafter\g@addto@macro\expandafter\@author
\fi
\fi
\if@tempswa
% --> \Author*
\g@addto@macro\@author{\PTB@dec@footnotemark}%
\fi
\def\reserved@a{!}%
\ifx\PTB@tempf\reserved@a
\xdef\first@author{\PTB@tempb~\PTB@tempd}% alternat. first author
\fi
\expandafter\g@addto@macro\expandafter\@author
\expandafter{\expandafter\PTB@fnmark\expandafter{\PTB@tempa}}%
\if@tempswa
\g@addto@macro\@author{\PTB@fnmark{,}}%
\fi
\PTB@isnum{\PTB@tempe}{%
\expandafter\g@addto@macro\expandafter\@author%
\expandafter{\expandafter\PTB@fnmark\expandafter{\PTB@tempe}}%
}{%
\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{\textbullet}
%\renewcommand*\labelitemii{\Huge$\m@th\circ$}
%\renewcommand*\labelitemii{\textasteriskcentered}
%\renewcommand*\labelitemii{\textperiodcentered}
%\renewcommand*\labelitemii{$\m@th\diamond$}
%\renewcommand*\labelitemii{$\m@th\triangleright$}%
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
\ifdim\paperheight>\paperwidth
\setlength\PTB@scale@base{\paperheight}
\PTBlandscapefalse
\else
\setlength\PTB@scale@base{\paperwidth}
\PTBlandscapetrue
\fi
\newcommand*\scaleFontSizes[1]{%
\global\PTB@default@fsize=#1\PTB@default@fontsize@base
}
\@onlypreamble\scaleFontSizes
\newcommand*\scaleTitleFontSize[1]{%
\global\PTB@default@title@fontsize=#1\PTB@default@title@fontsize@base
}
\@onlypreamble\scaleTitleFontSize
\setlength\PTB@default@title@fontsize{0.0315101893474\PTB@scale@base}% 106.6pt bei A0
\newcommand*\PTB@scaleTitleFontSize[1]{%
\PTB@tempdima=\PTB@default@title@fontsize
\PTB@tempdima=#1\PTB@tempdima
\PTB@tempdimb=1.14\PTB@tempdima
\xdef\titleFontSize{\noexpand\@setfontsize
\noexpand\titleFontSize{\the\PTB@tempdima}{\the\PTB@tempdimb}}%
}
\def\authorFontSize{\@setfontsize\authorFontSize{%
\PTB@default@author@fontsize}{1.2\PTB@default@author@fontsize}}
\def\footFontSize{\@setfontsize\footFontSize{%
\PTB@default@foot@fontsize}{1.2\PTB@default@foot@fontsize}}
\newcommand*\scaleFont[1]{%
\PTB@tempdima=\f@size pt \PTB@tempdima=#1\PTB@tempdima
\PTB@tempdimb=\f@baselineskip \PTB@tempdimb=#1\PTB@tempdimb
\edef\f@size{\strip@pt\PTB@tempdima}%
\edef\f@baselineskip{\the\PTB@tempdimb}%
\fontsize{\f@size}{\f@baselineskip}%
\selectfont
}
\ifcase \PTB@layout
% 0
\input{ptbposter-2018.clo}
\or % 1
\input{ptbposter-2020.clo}
\fi
\scaleFontSizes{1}% wird ggf. in Präambel noch mal geändert.
\scaleTitleFontSize{1}% wird ggf. in Präambel noch mal geändert.
\AtEndPreamble{%
% Skalierungen in der Präambel sind passiert.
\changefontsizes{\the\PTB@default@fsize}%
\KOMAoptions{headings=normal,parskip=half}
\normalsize
\setlength\PTB@maxtitleheight{0.057\PTB@scale@base}%
\setlength\PTB@framethickness{0.00168208578994\PTB@scale@base}%
\setlength\fboxsep{0.00355\PTB@scale@base} % 3pt bei A4
\setlength\fboxrule{0.0004722\PTB@scale@base}% 0.4pt bei A4
\setlength\PTB@leftmargin{0.5\dimexpr\paperwidth-\PTB@framewidth}%
\@tempdima=\dimexpr\PTB@leftmargin+\PTB@texthsep %
\geometry{%
verbose,
top=\dimexpr\PTB@topmargin+\PTB@textvsep,%
left=\@tempdima,
right=\@tempdima,
textheight=\dimexpr\PTB@frameheight-2\PTB@textvsep,%
columnsep=1.5em,hcentering}
\setlength\emergencystretch{3em}%
\@ifpackageloaded{multicol}{%
\def\setemergencystretch#1#2{}%
\setlist{leftmargin=.6em,labelsep=.3em,nosep,topsep=.5em,itemsep=.25em}
\KOMAoptions{captions=oneline}
\minipage{\linewidth}%
\def\@captype{figure}%
}
\newcommand*\ptb@table{%
\minipage{\linewidth}%
\def\@captype{table}%
}
\newcommand*\ptb@endfigtab{%
\endminipage
\endtrivlist
}
\renewenvironment{figure}[1][]{%
\ptb@figure
}{\ptb@endfigtab}
\renewenvironment{figure*}[1][]{%
\ptb@figure
}{\ptb@endfigtab}
\renewenvironment{table*}[1][]{%
\addtokomafont{captionlabel}{\sffamily\bfseries}
%\setcapwidth[l]{\linewidth}
\AtBeginDocument{%
\RedeclareSectionCommand[%
style=section,%
level=1,%
indent=\z@,%
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
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}