Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • vaclab/ptb-latex
  • andre.waehlisch/ptb-latex
2 results
Show changes
Showing
with 943 additions and 197 deletions
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbletter-new-engines.clo}%
[2017/12/05 v0.1b PTB-Brief -- new engines (RN)]
\RequirePackage{fontspec}
\RequirePackage{unicode-math}
\setromanfont{texgyrepagella}[
Ligatures=TeX,
Scale=MatchUppercase,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\setsansfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\setmonofont{DejaVuSansMono}[%
Scale=0.9,
UprightFont = *,
ItalicFont=*-Oblique,
BoldFont=*-Bold,
BoldItalicFont=*-BoldOblique,
Extension = .ttf]
\RequirePackage{newunicodechar}
\newunicodechar{^^^^20ac}{\officialeuro}
\endinput
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbletter-old-engines.clo}%
[2017/12/05 v0.1b PTB-Brief -- old engines (RN)]
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\usepackage[scaled=0.9]{DejaVuSansMono}
\RequirePackage{textcomp}
\RequirePackage{mathpazo}
\RequirePackage{tgpagella}
\RequirePackage{tgheros}
\endinput
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
% Rolf Niepraschk, Rolf.Niepraschk@gmx.de
\setcounter{errorcontextlines}{100} \listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{ptbletter}
[2015/05/26 v0.1c PTB-Brief-Klasse (RN)]
\ProvidesClass{ptbletter}[2023/04/21 v0.4c PTB-Brief-Klasse (RN)]
\let\ptb@tempdima=\@ovxx
\let\ptb@tempdimb=\@ovyy
......@@ -13,8 +12,24 @@
\let\ptb@tempdime=\@clnht
\let\ptb@tempdimf=\@dashdim
\newif\ifPTB@useCMYK \PTB@useCMYKfalse % vorerst
\RequirePackage{graphicx,xcolor}
\ifPTB@useCMYK
\definecolor{PTBcolor}{cmyk}{1,0.32549,0.12549,0.12549}% ???
% icc:model: Europe ISO Coated FOGRA27
\else
\definecolor{PTBcolor}{RGB}{0,155,206}
\fi
\newif\ifptb@BLN \ptb@BLNtrue
\newif\ifptb@serif \ptb@seriffalse
\newif\ifptb@serif \ptb@seriftrue
\newcommand*\ptb@lang{main=ngerman}
\newcount\ptb@head \ptb@head=1 %
\newcommand*\ptb@tempa{}
\newcommand*\ptb@tempb{}
\DeclareOption{german}{\def\ptb@lang{main=ngerman}}
\DeclareOption{ngerman}{\def\ptb@lang{main=ngerman}}
......@@ -25,6 +40,9 @@
\DeclareOption{BLN}{\ptb@BLNtrue}
\DeclareOption{sanserif}{\ptb@seriffalse}
\DeclareOption{serif}{\ptb@seriftrue}
\DeclareOption{head0}{\ptb@head=0}
\DeclareOption{head1}{\ptb@head=1}
\DeclareOption{head2}{\ptb@head=2}
\DeclareOption{visualize}{%
\PassOptionsToClass{\CurrentOption}{scrlttr2}
......@@ -38,23 +56,33 @@
}
}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}}
%\DeclareOption*{\PassOptionsToClass{\CurrentOption}{scrlttr2}}
\ExecuteOptions{pagesize}
\ProcessOptions\relax
\PassOptionsToPackage{usegeometry=true}{typearea}
\LoadClass[%
,fontsize=11pt
,DINmtext
%,DINmtext
,backaddress=plain
,refline=nodate
,enlargefirstpage
,pagenumber=no
,parskip=never
,firstfoot=true
]{scrlttr2}
% Texbreite beibehalten, linken Rand anpassen
\ptb@tempdima=\textwidth
\RequirePackage[verbose,inner=72bp,textwidth=\ptb@tempdima]{geometry}
%\textheight=1.1\textheight
\LoadLetterOption{DINmtext}
\RequirePackage[%
,verbose
,left=1in
,textwidth=165mm
]{geometry}
\raggedbottom
\RequirePackage{hyphsubst}% Trennregeln austauschen
\HyphSubstIfExists{ngerman-x-latest}{%
......@@ -62,94 +90,119 @@
\HyphSubstIfExists{german-x-latest}{%
\HyphSubstLet{german}{german-x-latest}}{}
\RequirePackage{ifxetex,ifluatex,url,array}
\RequirePackage{ifxetex,ifluatex,url,array,tabularx,picture}
\newif\ifXeOrLua \XeOrLuafalse
\ifxetex\XeOrLuatrue\else\ifluatex\XeOrLuatrue\fi\fi
% TODO: Mathematik?
\RequirePackage[right]{eurosym}
\ifXeOrLua% XeLaTeX oder luaLaTeX
\RequirePackage{fontspec}
\setmainfont{TeX Gyre Pagella}[Ligatures=TeX]
\setsansfont{TeX Gyre Heros}[Scale=MatchUppercase,Ligatures=TeX]
\setmonofont{AnonymousPro-Regular}[%
Extension = .ttf,
BoldFont = AnonymousPro-Bold,
ItalicFont = AnonymousPro-Italic,
BoldItalicFont = AnonymousPro-BoldItalic,
Scale = MatchLowercase
]
\input{ptbletter-new-engines.clo}
\else
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\RequirePackage{mathpazo}
\RequirePackage{tgpagella}
\RequirePackage{tgheros}
\RequirePackage[ttdefault=true,scale=1.034]{AnonymousPro}
\input{ptbletter-old-engines.clo}
\fi
\def\tiny{\@setfontsize\tiny{7}{8.17}}
\ifptb@serif
\ifptb@serif
\renewcommand*\familydefault{\rmdefault}
\else
\renewcommand*\familydefault{\sfdefault}
\fi
%\RequirePackage{etoolbox}
%\preto\@classoptionslist{ngerman,}
% Ohne Sprachangabe "deutsch" verwenden. Bessere Lösung?
\let\texteuro=\officialeuro
\RequirePackage[\ptb@lang]{babel}
\RequirePackage{iflang}
\IfLanguageName{ngerman}{%
\typeout{german}
\RequirePackage[babel=once,german=guillemets]{csquotes}
\AtEndOfClass{\shorthandon{"}}
\RequirePackage{etoolbox,iflang,trimspaces}
\AtEndPreamble{%
\IfLanguageName{ngerman}{%
\RequirePackage[autostyle=true,german=guillemets,maxlevel=3]{csquotes}%
}{%
\RequirePackage[babel=once]{csquotes}
\useshorthands*{"}
}%
\MakeAutoQuote{»}{«}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
% \MakeAutoQuote{»}{«}
}{%
\typeout{english}
\RequirePackage[babel=once]{csquotes}
\defineshorthand{"'}{\closeautoquote}\shorthandon{"}
}
\AtEndOfClass{%
\@ifpackageloaded{inputenc}{}{%
\catcode`=\active
\catcode`=\active
}%
}
\@setplength{toaddrhpos}{72bp}
\@setplength{toaddrvpos}{124bp}
%\@setplength{toaddrwidth}{85mm}
\@setplength{lochpos}{-354bp}% "-" --> vom linken Blattand aus
\@setplength{locvpos}{146bp}% --> vom oberen Blattand aus
\@setplength{locwidth}{212bp}
\@setplength{locheight}{135bp}
\setplength{toaddrhpos}{72bp}
\setplength{toaddrvpos}{124bp}
\setplength{lochpos}{-354bp}% "-" --> vom linken Blattand aus
\setplength{locvpos}{146bp}% --> vom oberen Blattand aus
\setplength{locwidth}{212bp}
\setplength{locheight}{139bp}
\setplength{refvpos}{304bp}
%\setplength{refwidth}{40mm}
\setplength{refaftervskip}{\z@}
\setplength{firstheadhpos}{72bp}
\setplength{firstheadvpos}{50bp}
\setplength{firstheadwidth}{469bp}
\setplength{firstfoothpos}{72bp}
\setplength{firstfootvpos}{764bp}
\setplength{firstfootwidth}{\useplength{firstheadwidth}}
%\@setplength{refaftervskip}{75bp}
\setplength{subjectaftervskip}{23bp}
%\@setplength{refhpos}{72bp}
\@setplength{refvpos}{304bp}
%\@setplength{refwidth}{40mm}
\@setplength{refaftervskip}{\z@}
%\setplength{sigindent}{3em}
\setplength{sigbeforevskip}{3mm}%
\@setplength{firstfoothpos}{72bp}
\@setplength{firstfootvpos}{764bp}
\@setplength{firstheadwidth}{469bp}
\@setplength{firstfootwidth}{\useplength{firstheadwidth}}
\setlength{\textheight}{235mm}
\setlength{\footskip}{2mm}
\setlength{\footheight}{30bp}
\footskip= 30bp %
%\widowpenalties 2 10000 0 %
\usepackage[defaultlines=2]{nowidow}
\setnowidow% keine einzelne Zeile am Seitenbeginn (keine "Hurenkinder")
% https://tex.stackexchange.com/questions/21983/how-to-avoid-page-breaks-inside-paragraphs
\@setplength{subjectaftervskip}{23bp}
\let\raggedsignature=\raggedright
%\@setplength{refvpos}{1sp}
%\@setplength{refhpos}{1sp}
%\@setplength{refwidth}{110bp}
\removereffields
\addtokomafont{addressee}{\sffamily}
\setkomafont{refname}{\sffamily\tiny}
\setkomafont{refvalue}{\normalfont}
\setkomafont{refvalue}{\normalfont\footnotesize}
\setkomavar{firsthead}{%
\ifcase\ptb@head
\or% 1
\begin{picture}(0,30bp )
\unitlength=1bp % ???
\put(0,0) {%
\includegraphics[width=308bp]{PTB-logo-2015.pdf}%
}
\put(0,-5bp) {%
\linethickness{1bp}%
%\textcolor{PTBcolor}{\line(1,0){\linewidth}}%
\textcolor{PTBcolor}{\line(1,0){494bp}}%
}
\end{picture}
\or% 2
\begin{minipage}[b]{\linewidth}%
\sffamily\bfseries\huge%
Physikalisch-Technische Bundesanstalt\\[3bp]%
%%%\large
Braunschweig und Berlin
\end{minipage}%
\fi
}
\setkomavar{location}{%
\begingroup
\extrarowheight=-1bp %
\begin{tabular}{@{}>{\usekomafont{refname}}l<{:}@{~\,}>{\usekomafont{refvalue}}l@{}}
\begin{tabular}%
{@{}>{\usekomafont{refname}}l<{:}@{~\,}>{\usekomafont{refvalue}}l@{}}
\usekomavar*{yourref} & \usekomavar{yourref}\\
\usekomavar*{yourmail} & \usekomavar{yourmail}\\
\usekomavar*{myref} & \usekomavar{myref}\\
......@@ -158,20 +211,21 @@
\usekomavar*{handledby} & \usekomavar{handledby}\\
\usekomavar*{myphone} & \usekomavar{myphone}\\
\usekomavar*{myfax} & \usekomavar{myfax}\\
\usekomavar*{fromemail} & \usekomavar{fromemail}\\
\usekomavar*{emailseparator} & \usekomavar{fromemail}\\
\multicolumn{2}{@{}l@{}}{} \\
\usekomavar*{date} & \usekomavar{date}
\end{tabular}
\endgroup
}
\setkomavar{firstfoot}{% TODO: engl/dt
\parbox{\useplength{firstfootwidth}}{%
\sffamily\tiny
\begin{tabular}{@{}l@{}}
\iflanguage{ngerman}{Hausadresse, Lieferanschrift:}{Domicile:} \\
\IfLanguageName{ngerman}{Hausadresse, Lieferanschrift:}{Domicile:} \\
\ifptb@BLN Abbestr. 2--12 \else Bundesallee 100 \fi \\
\ifptb@BLN 10587 Berlin \else 38116 Braunschweig\fi \\
\iflanguage{ngerman}{DEUTSCHLAND}{GERMANY} \\
\IfLanguageName{ngerman}{DEUTSCHLAND}{GERMANY} \\
\end{tabular}%
\hfill
\begin{tabular}{@{}l@{~}l@{}}
......@@ -192,7 +246,7 @@
\ifptb@BLN PTB Braunschweig \else PTB Berlin-Charlottenburg \fi \\
\ifptb@BLN Bundesallee 100 \else Abbestr. 2--12 \fi \\
\ifptb@BLN 38116 Braunschweig \else 10587 Berlin \fi \\
\iflanguage{ngerman}{DEUTSCHLAND}{GERMANY}
\IfLanguageName{ngerman}{DEUTSCHLAND}{GERMANY}
\end{tabular}%
\hfill \mbox{}
}%
......@@ -205,27 +259,76 @@
\setkomavar{backaddress}{PTB\\Postfach 33 45\\38023 Braunschweig}
\fi
\newcommand*\handledby[1]{\setkomavar{handledby}{#1}}
\newcommand*\myref[1]{\setkomavar{myref}{#1}}
\newcommand*\mymail[1]{\setkomavar{mymail}{#1}}
\newcommand*\myphone[1]{\setkomavar{myphone}{#1}}
\newcommand*\myfax[1]{\setkomavar{myfax}{#1}}
\newcommand*\myemail[1]{\setkomavar{fromemail}{#1}}
\newcommand*\ptb@setcommand[3][]{% #1=default (opt.), #2=macro, #3=value
\edef\ptb@tempa{\trim@spaces@noexp{#3}}%
\expandafter\protected@edef\csname #2\endcsname{%
\ifx\@empty\ptb@tempa #1\else\ptb@tempa\fi}%
}
\newcommand*\ptb@setkomavar[2]{%
\ptb@setcommand{ptb@tempb}{#2}%
\edef\ptb@tempa{\noexpand\setkomavar{#1}{\ptb@tempb}}%
\ptb@tempa
}
\newcommand*\handledby[1]{\ptb@setkomavar{handledby}{#1}}
\newcommand*\myref[1]{\ptb@setkomavar{myref}{#1}}
\newcommand*\mymail[1]{\ptb@setkomavar{mymail}{#1}}
\newcommand*\myphone[1]{\ptb@setkomavar{myphone}{#1}}
\newcommand*\myfax[1]{\ptb@setkomavar{myfax}{#1}}
\newcommand*\myemail[1]{\ptb@setkomavar{fromemail}{#1}}
\newcommand*\yourref[1]{\setkomavar{yourref}{#1}}
\newcommand*\yourmail[1]{\setkomavar{yourmail}{#1}}
\newcommand*\yourref[1]{\ptb@setkomavar{yourref}{#1}}
\newcommand*\yourmail[1]{\ptb@setkomavar{yourmail}{#1}}
\newcommand*\backaddress[1]{\setkomavar{backaddress}{#1}}
\newcommand*\backaddress[1]{\ptb@setkomavar{backaddress}{#1}}
\newcommand*\subject[1]{\setkomavar{subject}{#1}}
\renewcommand*\date[1]{\setkomavar{date}{#1}}
\renewcommand*\date[1]{\ptb@setkomavar{date}{#1}}
\newkomavar[\mymailname]{mymail}
\newkomavar[\myphonename]{myphone}
\newkomavar[\myfaxname]{myfax}
\newkomavar[\handledbyname]{handledby}
\newcommand*\ptb@bgTextI{}
\newcommand*\ptb@bgTextII{}
\newcommand*\bgText{%
\@ifstar{\@tempswatrue\ptb@bgText}{\@tempswafalse\ptb@bgText}%
}
\newcommand*\ptb@bgText[1]{%
\if@tempswa
\xdef\ptb@bgTextI{#1}%
\else
\xdef\ptb@bgTextII{#1}%
\fi
}
\RequirePackage{eso-pic}
\definecolor{bgTextColor}{gray}{0.9}
\AtBeginDocument{%
\ifx\ptb@bgTextI\@empty
\ifx\ptb@bgTextII\@empty\else
\AddToShipoutPictureBG{%
\AtTextCenter{%
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
\rotatebox{54.7}{%
\textnormal{\textsf{\textbf{%
\color{bgTextColor}\ptb@bgTextII}}}}}}%
}%
}%
\fi
\else
\AddToShipoutPictureBG*{%
\AtTextCenter{%
\makebox(0,0)[c]{\resizebox{\textwidth}{!}{%
\rotatebox{54.7}{%
\textnormal{\textsf{\textbf{%
\color{bgTextColor}\ptb@bgTextI}}}}}}%
}%
}%
\fi
}
\defcaptionname{american,australian,british,canadian,%
english,newzealand,UKenglish,USenglish}\yourrefname{Your reference}%
english,newzealand,UKenglish,USenglish}\yourrefname{Your reference}%
\defcaptionname{american,australian,british,canadian,%
english,newzealand,UKenglish,USenglish}\yourmailname{Your letter of}%
\defcaptionname{american,australian,british,canadian,%
......@@ -236,11 +339,11 @@
english,newzealand,UKenglish,USenglish}\myphonename{Telephone}%
\defcaptionname{american,australian,british,canadian,%
english,newzealand,UKenglish,USenglish}\myfaxname{Fax}%
%\defcaptionname{american,australian,british,canadian,%
% english,newzealand,UKenglish,USenglish}\emailname{E-mail}%
\defcaptionname{american,australian,british,canadian,%
english,newzealand,UKenglish,USenglish}\handledbyname{Handled by}%
\defcaptionname{german,ngerman,austrian,naustrian,%
swissgerman,nswissgerman}\yourrefname{Ihr Zeichen}%
\defcaptionname{german,ngerman,austrian,naustrian,%
swissgerman,nswissgerman}\yourmailname{Ihre Nachricht vom}%
\defcaptionname{german,ngerman,austrian,naustrian,%
......@@ -257,34 +360,6 @@
swissgerman,nswissgerman}\enclname{Anlagen}%
\AtBeginDocument{%
\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
\setlength\leftmargini{1.5em}
\setlength\leftmarginii{1.1em}
\setlength\leftmarginiii{1.1em}
\setlength\leftmarginiv{1.1em}
\setlength\labelsep{.5em}
\ifxetex\else
\RequirePackage[%
,factor=1500
......@@ -296,10 +371,20 @@
,babel=true
]{microtype}
\fi
\shorthandon{"}%
}
\RequirePackage{enumitem}
\setlist{leftmargin=*,nosep,topsep=.5em,itemsep=.25em}
\setlist[1]{labelindent=1em}
\newcommand*\MFG{Mit freundlichen Gr\"u\ss en}
\newcommand*\MHG{Mit herzlichen Gr\"u\ss en}
\IfLanguageName{ngerman}{%
\newcommand*\MFG{Mit freundlichen Gr\"u\ss en}
\newcommand*\MFg{Mit freundlichem Gru\ss}
\newcommand*\MHG{Mit herzlichen Gr\"u\ss en}
}{%
\newcommand*\MFG{Yours sincerely,}
\newcommand*\MFg{Sincerely,}
\newcommand*\MHG{With kind regards,}
}
\endinput
ptbposter/George.png

42.6 KiB

ptbposter/John.png

55.8 KiB

# Rolf Niepraschk, 2015/03/26, Rolf.Niepraschk@ptb.de
# Rolf Niepraschk, 2019/05/13, Rolf.Niepraschk@ptb.de
.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
......@@ -8,15 +8,20 @@ DOC2 = ptbposter-doc-2
ARCHNAME = ptbposter-$(shell date +%Y-%m-%d).zip
ADDINPUTS = ptbposter.cls ptbposter-logo.pdf
all : $(DOC1).pdf $(DOC2).pdf tcb-example1.pdf tcb-example2.pdf
all : $(DOC1).pdf $(DOC2).pdf
$(DOC1).pdf $(DOC2).pdf : $(ADDINPUTS)
$(DOC1).pdf $(DOC2).pdf tcb-example2.pdf : $(ADDINPUTS)
%.pdf : %.tex
pdflatex $<
tcb-example1.pdf : tcb-example1.tex
lualatex $<
#%.mps : %.eps
# purifyeps $< - | sed -e "s/0 0 0 setrgbcolor/%/g" > $@
# "purifyeps" macht aktuell Probleme # 2017-10-18
clean :
$(RM) $(addprefix $(DOC1), .log .aux .out)
$(RM) $(addprefix $(DOC2), .log .aux .out)
......
ptbposter/Paul.png

40.6 KiB

## ptbposter
Das Projekt enthält eine LaTeX-Dokumentenklasse und andere Komponenten zur
LaTeX-Dokumentenklasse und andere Komponenten zur
Erzeugung eines PTB-konformen Posters. Näheres siehe Dokumentation [Teil
1](ptbposter-doc-1.pdf) und [Teil 2](ptbposter-doc-2.pdf).
1](ptbposter-doc-1.pdf) und [Teil 2](ptbposter-doc-2.pdf) sowie die
Beispiele, die die Verwendung positionierbarer Boxen
[(tcolobox)](https://www.ctan.org/pkg/tcolorbox) sowie die Einbeziehung des
Grafikpakets [TikZ](https://www.ctan.org/pkg/pgf) zeigen:
[tcb-example1](tcb-example1.pdf) und [tcb-example2](tcb-example2.pdf).
Rolf Niepraschk, 2015-05-26
Rolf Niepraschk, 2025-03-13
ptbposter/Ringo.png

50.5 KiB

File added
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbposter-2018.clo}%
[2022/09/20 1.0.0 PTB-Poster layout 2018 (RN)]
\typeout{*** LAYOUT 2018 ***}
\setlength\PTB@default@fontsize@base{0.0130170299199\PTB@scale@base}% 11pt (A4), 44pt (A0)
\setlength\PTB@default@author@fontsize{0.0157550946737\PTB@scale@base}% 53.3pt (A0)
\setlength\PTB@default@title@fontsize@base{0.0315101893474\PTB@scale@base}% 106.6pt (A0)
\setlength\PTB@default@foot@fontsize{0.00567538119577\PTB@scale@base}% 19.2pt (A0)
\iftutex% LuaTeX oder XeTeX
\setfontfamily\PTBdesignFont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\let\sffamily=\PTBdesignFont
\else
\let\PTBdesignFont=\sffamily
\fi
\AtEndPreamble{%
\ifx\@author\@empty
\setlength\PTB@topmargin{0.152\PTB@scale@base}%
\else
\setlength\PTB@topmargin{0.180824222418\PTB@scale@base}%
\fi
\ifPTBlandscape
\setlength\PTB@framewidth{0.950378471315\PTB@scale@base}% 3215pt (1130mm) (A0)
\ifx\@author\@empty
\setlength\PTB@frameheight{0.490824222418\PTB@scale@base}% 1660pt (584mm) (A0)
\else
\setlength\PTB@frameheight{0.462\PTB@scale@base}% 1563pt (549mm) (A0)
\fi
\else
\setlength\PTB@framewidth{0.656013458076\PTB@scale@base}% 2219pt (780mm) (A0)
\ifx\@author\@empty
\setlength\PTB@frameheight{0.769\PTB@scale@base}% 2602pt (914mm) (A0)
\else
\setlength\PTB@frameheight{0.740117747573\PTB@scale@base}% 2504pt (880mm) (A0)
\fi
\fi
}
\PTB@AddToShipoutPictureBG{% relativ zur oberen linken Ecke des Blattes
\PTB@tempdima=-0.077\PTB@scale@base
\put(\PTB@leftmargin,\PTB@tempdima){%
\parbox[b]{\PTB@framewidth}{% TODO: vereinfachen?
\parbox[b]{.401\PTB@scale@base}{%
\textcolor{PTBcolor}{% TODO: Tikz-Grafik erzeugen (autom.?) und verwenden
\includegraphics[height=.055\PTB@scale@base]{PTB-logo-A.mps}
}% 1,58365758755
\ifPTB@logo@long@
\hfill
\raisebox{.0025\PTB@scale@base}{%
%\includegraphics[width=.612\linewidth]{ptbposter-logo-B.mps}%
\resizebox{.61\linewidth}{!}{%
\hspace{-.2ex}%
\begin{varwidth}[b]{\linewidth}%
\PTBdesignFont\bfseries
Physikalisch-Technische Bundesanstalt\\
Braunschweig und Berlin\\
\mdseries
Nationales Metrologieinstitut
\end{varwidth}%
}%
}%
\fi
}%
\hfill
\ifx\PTB@logo\@empty\else
\includegraphics[height=.055\PTB@scale@base]{\PTB@logo}%
\fi
}
}%
\def\PTB@tempa{\parbox[c]{\PTB@framewidth}{% Komplette Titeldefinition
\PTB@title@justification\PTB@title@series\PTBdesignFont\titleFontSize
\microtypesetup{protrusion=false}\@title}}%
\begingroup
\@tempcnta=\@ne \@tempcntb=10499 %
\loop\ifnum\@tempcnta<25 % Finden der ersten passenden titleFontSize
\multiply\@tempcntb 10000 \divide\@tempcntb by 10500 % jeweils um 5% kleiner
\PTB@scaleTitleFontSize{0.\the\@tempcntb}% 1:0.9999, 2:0.9522, 3:0.9068, ...
%\typeout{\the\@tempcnta\space XXX: \titleFontSize, 0.\the\@tempcntb}%
\setbox\z@ \hbox{\PTB@tempa}%
\ifdim\dimexpr\ht\z@+\dp\z@>\PTB@maxtitleheight
\advance\@tempcnta\@ne % weiter, wenn zu gross
\else
\@tempcnta=999 % Abbruch
\fi
\repeat
\endgroup
\PTB@tempdima=-0.127\PTB@scale@base
\put(\PTB@leftmargin,\PTB@tempdima){\PTB@tempa}% Title
\PTB@tempdima=-0.172\PTB@scale@base
\def\and{, }%
\put(\PTB@leftmargin,\PTB@tempdima){\parbox[b]{\PTB@framewidth}{% Autoren
\PTB@authors@justification\PTBdesignFont\authorFontSize\@author}}%
% hier wird \@thanks gefüllt
\linethickness{\PTB@framethickness}\color{PTBcolor}%
\PTB@tempdima=-0.0883095039717\PTB@scale@base
\put(\PTB@leftmargin,\PTB@tempdima){%
\line(1,0){\dimexpr\paperwidth-2\PTB@leftmargin}}%
% blauer Rahmen
\put(\PTB@leftmargin,\dimexpr-\textheight-2\PTB@textvsep-\PTB@topmargin)%
{\framebox(\dimexpr\textwidth+2\PTB@texthsep,%
\dimexpr\textheight+2\PTB@textvsep){\backgroundContent}}%
}
\PTB@AddToShipoutPictureFG{% relativ zur linken unteren Ecke des Textbereichs
\PTB@AtTextLowerLeft{%
\put(-\PTB@texthsep,-\PTB@textvsep){%
\PTB@tempdimb=0.000420521447484\PTB@scale@base
\linethickness{\PTB@tempdimb}\normalcolor
\PTB@tempdima=-0.0420521447484\PTB@scale@base
\put(-.5\@wholewidth,\PTB@tempdima){%
\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){}%
\else
\sbox\@tempboxa{\qrcode[height=\PTB@tempdima,tight]{\PTB@qrcode}}%
\raisebox{\dp\@tempboxa}{\usebox\@tempboxa}%
\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){}%
}
\PTB@tempdimb=-0.00841042894969\PTB@scale@base
\footFontSize\sffamily\normalcolor
\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}%
}
\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\ifPTB@german@ Telefon\else Phone\fi:
&\PTB@phone\\\fi
\ifx\PTB@fax\@empty\else Fax:&\PTB@fax\\\fi
\ifx\PTB@email\@empty\else\ifPTB@german@ E-Mail\else E-mail\fi:
&\href{mailto:\PTB@email}{\PTB@email}\\\fi
\multicolumn{2}{@{}l@{}}{\href{http://www.ptb.de/}{www.ptb.de}}
\end{tabular}%
}
\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}%
}
}
}
}
\endinput
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbposter-2020.clo}%
[2022/09/20 1.0.1 PTB-Poster layout 2020 (RN)]
\typeout{*** LAYOUT 2020 ***}
\setlength\PTB@default@fontsize@base{0.0118336635635\PTB@scale@base}% 10pt (A4), 40pt (A0)
\setlength\PTB@default@author@fontsize{0.0157550946737\PTB@scale@base}% 53.3pt (A0)
\setlength\PTB@default@title@fontsize@base{.0282849711986\PTB@scale@base}% 95.7pt (A0)
\setlength\PTB@default@foot@fontsize{0.00567538119577\PTB@scale@base}% 19.2pt (A0)
\iftutex% LuaTeX oder XeTeX
\setfontfamily\PTBdesignFont{UniversNextPro-Light}[%
Ligatures=TeX,
BoldFont=*,
ItalicFont=*Italic,
Scale=1.01,
Extension=.ttf]
\setsansfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\else
\let\PTBdesignFont=\sffamily% ???
\fi
\AtEndPreamble{%
\setlength\PTB@topmargin{0.193953\PTB@scale@base}%
\ifPTBlandscape
\setlength\PTB@framewidth{0.950378471315\PTB@scale@base}% 3215pt (1130mm) (A0)
\setlength\PTB@frameheight{0.447\PTB@scale@base}% 1563pt (549mm) (A0)
\else
\setlength\PTB@framewidth{0.656013458076\PTB@scale@base}% 2219pt (780mm) (A0)
\setlength\PTB@frameheight{0.740117747573\PTB@scale@base}% 2504pt (880mm) (A0)
\fi
}
\PTB@AddToShipoutPictureBG{% relativ zur oberen linken Ecke des Blattes
\PTB@tempdima=-0.07\PTB@scale@base
\put(\PTB@leftmargin,-0.07\PTB@scale@base){%
\textcolor{PTBcolor}{\includegraphics[height=.04545\PTB@scale@base]%
{PTB-logo-A.mps}}
}
\put(\PTB@leftmargin,-0.085\PTB@scale@base){%
\parbox[t]{\PTB@framewidth}{%
\PTBdesignFont\normalsize
\begin{varwidth}[t]{.32\linewidth}
Physikalisch-Technische Bundesanstalt\\
Nationales Metrologieinstitut
\end{varwidth}
\hfill
\begin{varwidth}[t]{.6\linewidth}
\begin{hyphenrules}{nohyphenation}
\def\and{, }\@author % hier wird \@thanks gefüllt
\end{hyphenrules}
\end{varwidth}
}
}%
\def\PTB@tempa{\parbox[c]{\PTB@framewidth}{% Komplette Titeldefinition
\PTB@title@justification\PTB@title@series\PTBdesignFont\titleFontSize
\microtypesetup{protrusion=false}\@title}}%
\begingroup
\@tempcnta=\@ne \@tempcntb=10499 %
\loop\ifnum\@tempcnta<25 % Finden der ersten passenden titleFontSize
\multiply\@tempcntb 10000 \divide\@tempcntb by 10500 % jeweils um 5% kleiner
\PTB@scaleTitleFontSize{0.\the\@tempcntb}% 1:0.9999, 2:0.9522, 3:0.9068, ...
%\typeout{\the\@tempcnta\space XXX: \titleFontSize, 0.\the\@tempcntb}%
\setbox\z@ \hbox{\PTB@tempa}%
\ifdim\dimexpr\ht\z@+\dp\z@>\PTB@maxtitleheight
\advance\@tempcnta\@ne % weiter, wenn zu gross
\else
\@tempcnta=999 % Abbruch
\fi
\repeat
\endgroup
\put(\PTB@leftmargin,-0.158\PTB@scale@base){%
\begin{hyphenrules}{nohyphenation}%
\PTB@tempa% Title
\end{hyphenrules}
}%
% blauer Rahmen
\put(\PTB@leftmargin,\dimexpr-\textheight-2\PTB@textvsep-\PTB@topmargin){%
\linethickness{\PTB@framethickness}\color{PTBcolor}%
\framebox(\dimexpr\textwidth+2\PTB@texthsep,%
\dimexpr\textheight+2\PTB@textvsep){\backgroundContent}}%
}
\PTB@AddToShipoutPictureFG{% relativ zur linken unteren Ecke des Textbereichs
\PTB@AtTextLowerLeft{%
\PTBdesignFont\footFontSize\normalcolor
\PTB@tempdima=-\PTB@framethickness
\PTB@tempdimb=-0.0125\PTB@scale@base
\put(-\PTB@texthsep,-\PTB@textvsep){
\put(\PTB@tempdima,\PTB@tempdimb){%
\begin{tabular}[t]{@{}l@{}}
Physikalisch-Technische Bundesanstalt \\
Nationales Metrologieinstitut \\[\f@baselineskip]
\ifx\PTB@street\@empty\else\PTB@street\\\fi
\ifx\PTB@location\@empty\else\PTB@location\\\fi
\href{https://www.ptb.de/}{www.ptb.de}
\end{tabular}%
}
\PTB@tempdima=0.115\PTB@scale@base
\put(\PTB@tempdima,\PTB@tempdimb){%
\begin{tabular}[t]{@{}ll@{}}
\ifx\first@author\@empty\else \multicolumn{2}{@{}l@{}}{\first@author}\\\fi
\ifx\PTB@workingGroup\@empty\else \multicolumn{2}{@{}l@{}}{\PTB@workingGroup}\\\fi
\\
\ifx\PTB@phone\@empty\else\ifPTB@german@ Telefon\else Phone\fi:
&\PTB@phone\\\fi
\ifx\PTB@fax\@empty\else Fax:&\PTB@fax\\\fi
\ifx\PTB@email\@empty\else\ifPTB@german@ E-Mail\else E-mail\fi:
&\href{mailto:\PTB@email}{\PTB@email}\\\fi
\end{tabular}%
}
\PTB@tempdima=0.219\PTB@scale@base
\put(\PTB@tempdima,\PTB@tempdimb){%
\begin{tabular}[t]{@{}l@{}}
\@thanks % wurde bei der Ausführung von \@author gefüllt.
\end{tabular}%
}
\PTB@tempdima=\dimexpr\PTB@framewidth+\PTB@framethickness %
\PTB@tempdimc=0.038875630234\PTB@scale@base % 131bp (A0)
\put(\PTB@tempdima,\PTB@tempdimb+\ht\strutbox){%
\makebox(0,0)[rt]{%
\begin{minipage}[t]{.5\textwidth}%
\mbox{}
\hfill
\ifx\PTB@qrcode\@empty\else
\begin{minipage}[b]{\PTB@tempdimc}%
\sbox\@tempboxa{\qrcode[height=\PTB@tempdimc,tight]%
{\PTB@qrcode}}%
\raisebox{\dimexpr\dp\@tempboxa}{\usebox\@tempboxa}%
\end{minipage}%
\fi
\hspace{.5\columnsep}%
\ifx\PTB@logo\@empty\else
\begin{minipage}[b]{\PTB@tempdimc}%
\centering
\includegraphics[height=\PTB@tempdimc]{\PTB@logo}%
\end{minipage}%
\fi
\end{minipage}%
}%
}
}
}
}
\endinput
\ProvidesPackage{ptbposter-add}[2019/02/20 v0.1b supplements for ptbposter (RN)]
\RequirePackage{ragged2e}
\newif\ifPTB@temp
\newcommand*\putPicture{%
\@ifstar{\PTB@temptrue\PTB@putPicture}{\PTB@tempfalse\PTB@putPicture}%
}
\newcommand\PTB@putPicture[4][t]{%
\trivlist\item\relax
\noindent\begin{minipage}[t]{\linewidth}%
\small
\@begin@tempboxa\hbox{#2}%
\ifx\relax#3\relax\mbox{}\hfill\fi
\begin{minipage}[#1]{\width}%
\if#1t%
\raisebox{\dimexpr\ht\strutbox-\height}{\usebox\@tempboxa}%
\else
\usebox\@tempboxa
\fi
\end{minipage}%
\hfill
\ifx\relax#3\relax
\mbox{}
\else
\begin{minipage}[#1]{\dimexpr\linewidth-\width-\columnsep}%
\hspace{0pt}\ifPTB@temp\RaggedRight\fi#3
\end{minipage}
\fi
\par\ifx\relax#4\relax\else\vskip.75\columnsep #4\fi
\@end@tempboxa
\end{minipage}%
\endtrivlist
}
\newcommand\putInTwoColumn[2]{%
\trivlist\item\relax
\noindent\begin{minipage}[t]{\linewidth}%
\columnsep=.5\columnsep
\begin{minipage}[t]{\dimexpr.5\linewidth-\columnsep}%
#1
\end{minipage}%
\hfill
\begin{minipage}[t]{\dimexpr.5\linewidth-\columnsep}%
#2
\end{minipage}%
\end{minipage}%
\endtrivlist
}
\endinput
No preview for this file type
\documentclass{ptbposter}
%\documentclass[sanserif,english]{ptbposter}
\documentclass[
%landscape,
%,english
%,a4paper
,layout2020
]{ptbposter}
\phone{+49-30-3481-7316}
\fax{+49-30-3481-7503}
\fax{+49-30-3481-7490}
\email{Rolf.Niepraschk@ptb.de}
\workingGroup{7.54 Arbeitsgruppe}
\department{7.5 Fachbereich}
\workingGroup{7.54 Vakuummetrologie}
\department{7.5 Wärme und Vakuum}
\location{10587 Berlin}
\street{Abbestraße 2--12}
\QRcode{http://www.ptb.de/cms/fachabteilungen/abt7/fb-75/ag-754.html}
......@@ -15,43 +19,53 @@
\Author*{Max}{Mustermann}
\Author{Ellen}{Bogen}[Muster Universität Oberstadt]
\Author*{Peter}{Silie}[XYZ GmbH]
\Author{Rainer}{Unsinn}[1]
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
%%\scaleTitleFontSize{0.92}% Werte nahe an "1" wählen!
\logo{penguin.pdf}
%\scaletoPaper{a4}
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
\title{Die \LaTeX"=Dokumentenklasse "`ptbposter"'}
\title{Die \LaTeX-Dokumentenklasse "`ptbposter"'}
\begin{document}
\section{Einleitung}
Die \LaTeX"=Dokumentenklasse "`ptbposter"' ist geeignet, mit Hilfe des
Textsatzsystems \TeX, Poster im Hoch- und Querformat den offiziellen
Vorgaben der PTB entsprechend qualitativ hochwertig zu setzen.
Die \LaTeX"=Dokumentenklasse "`ptbposter"' ist geeignet, mit Hilfe des
Textsatzsystems \TeX\ qualitativ hochwertige Poster im Hoch- und Querformat
entsprechend den offiziellen Vorgaben der PTB zu setzen.
Zum Setzen eines Posters müssen die beiden Dateien "`\texttt{ptbposter.cls}"'
und "`\texttt{PTB-logo-poster.pdf}"' dem \TeX"=Compiler zugänglich sein,
d.\,h.\ sie müssen sich im \TeX"=Suchpfad befinden. Näheres dazu ist der
Dokumentation der benutzten \TeX"=Distribution zu entnehmen.
Dazu müssen die Dateien "`\texttt{ptbposter.cls}"',
"`\texttt{ptbposter-add.sty}"' und "`\texttt{ptbposter-logo-A.mps}"' dem
\TeX"=Compiler zugänglich sein, d.\,h.\ sie müssen sich im \TeX"=Suchpfad
befinden. Näheres dazu ist der Dokumentation der benutzten \TeX"=Distribution
zu entnehmen.
\begin{multicols}{2}
\section{Klassenoptionen}
\begin{itemize}
\item \textbf{a4paper}: Setzt von A0 abweichende Blattgröße (auch
"`\verb|{a3,a2,a1}paper|"' möglich).
\item \textbf{portrait}: Setzt das Poster im Hochformat (Standard).
\item \textbf{landscape}: Setzt das Poster im Querformat.
\item \textbf{serif}: Wählt die Serifenschrift für den Textbereich (Standard).
\item \textbf{sanserif}: Wählt die serifenlose Schrift für den Textbereich.
Es wird empfohlen, in diesem Falle die TeX"=Compiler "`lualatex"' oder
"`xelatex"' zu verwenden.
\item \textbf{serif}: Wählt die Serifenschrift für den Textbereich.
\item \textbf{sanserif}: Wählt die serifenlose Schrift für den Textbereich
(Standard).
\item \textbf{mathserif}: Wählt die Serifenschrift für den mathematischen
Modus.
\item \textbf{mathsanserif}: Wählt die serifenlose Schrift für den
mathematischen Modus (Standard).
\item \textbf{boldTitle}: Im Titel fette Schriftstärke verwenden.
\item \textbf{centerTitle}: Den Titel zentriert setzen.
\item \textbf{raggedTitle}: Den Titel mit "`Flatterrand"' setzen.
\item \textbf{centerAuthors}: Die Autoren zentriert setzen.
\item \textbf{shortPTBlogo}: verkürztes PTB-Logo (Text entfällt; nur im
Falle von "`layout2018"' wirksam)
\item \textbf{layout2018, layout2020}: Layoutvarianten
\end{itemize}
Alle anderen Optionen werden an die intern benutzte Dokumentenklasse
"`scrartcl"' weitergeleitet.
Ohne Angabe einer Sprachoption werden die Trennregeln für "`ngerman"' (neue
deutsche Rechtschreibung) benutzt.
......@@ -71,22 +85,41 @@ Nur eine einzelne Angabe wie
\endgroup
\subsection{Mehrere Autoren}
Die folgenden Angaben wurden in dieser Beispieldatei verwendet:
\begingroup
\scriptsize
\begin{verbatim}
\Author{Rolf}{Niepraschk}[Physikalisch-Technische Bundesanstalt]
\Author{Rolf}{Niepraschk}[%
Physikalisch-Technische Bundesanstalt]
\Author*{Max}{Mustermann}
\Author{Ellen}{Bogen}[Muster Universität Oberstadt]
\Author*{Peter}{Silie}[XYZ GmbH]
\Author{Rainer}{Unsinn}[1]
\end{verbatim}
\endgroup
Standardmäßig erscheint der zuerst aufgeführte Autor mit Adresse, E"~Mail usw.\
auch in der Fußzeile. Soll abweichend von dieser Regel ein später aufgeführter
Autor als "`korrespondierender Autor"' gelten, kann diesem als ersten
optionalen Parameter das Zeichen "`!"' übergeben werden. Beispiel:
\begingroup
\scriptsize
\begin{verbatim}
...
\Author*[!]{Max}{Mustermann}
...
\end{verbatim}
\endgroup
Der zuerst aufgeführte Autor erscheint mit Adresse, E"~Mail usw.\ auch in der
Fußzeile. Gehört ein weiterer Autor nicht der PTB an, so ist dessen Institution
als optionaler Parameter anzugeben. Für den zweiten Autor wird hier die
Sternform des Makros benutzt, da er derselben Institution wie sein Vorgänger
angehört. Der vierte Autor gehört zur Institution des dritten und gleichzeitig
zu einer weiteren.
Gehört ein weiterer Autor nicht der PTB an, so ist dessen Institution als
optionaler Parameter am Ende des Makros anzugeben. Für den zweiten Autor wird
im hier gezeigten Beispiel die Sternform des Makros benutzt, da er derselben
Institution wie sein Vorgänger angehört. Der vierte Autor gehört zur
Institution des dritten und gleichzeitig zu einer weiteren. Der letzte Autor
gehört derselben Institution an wie der erste.
\end{multicols}
......@@ -94,19 +127,6 @@ zu einer weiteren.
\emph{Das Dokument "`\texttt{ptbposter-doc-2}"' enthält die Fortsetzung dieser
Anleitung.}
\textcolor{PTBcolor}{\rule{\textwidth}{0.25ex}}
\begin{equation}
\sum_{k=0}^\infty \frac{x^k}{k!} \neq \prod_{j=1}^{10} \frac{j}{j+1}.
\end{equation}
\begin{equation}
P_{r-j}=\begin{cases}
0& \text{if $r-j$ is odd},\\
r!\,(-1)^{(r-j)/2}& \text{if $r-j$ is even}.
\end{cases}
\end{equation}
\end{document}
No preview for this file type
\documentclass[landscape]{ptbposter}
%\documentclass[english]{ptbposter}
\documentclass[
,landscape
%,english
%,a4paper
%,layout2018
,layout2020
]{ptbposter}
\phone{+49-30-3481-7316}
\fax{+49-30-3481-7503}
\fax{+49-30-3481-7490}
\email{Rolf.Niepraschk@ptb.de}
\workingGroup{7.54 Arbeitsgruppe}
\department{7.5 Fachbereich}
\workingGroup{7.54 Vakuummetrologie}
\department{7.5 Wärme und Vakuum}
\location{10587 Berlin}
\street{Abbestraße 2--12}
\QRcode{http://www.ptb.de/cms/fachabteilungen/abt7/fb-75/ag-754.html}
\Author{Rolf}{Niepraschk}[Physikalisch-Technische Bundesanstalt]
\Author*{Max}{Mustermann}
\Author{Ellen}{Bogen}[Muster Universität Oberstadt]
\Author*{Peter}{Silie}[XYZ GmbH]
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
%%\scaleTitleFontSize{0.92}% Werte nahe an "1" wählen!
\logo{penguin.pdf}
\QRcode{https://www.ctan.org/}
%\scaletoPaper{a4}
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
\title{Die \LaTeX"=Dokumentenklasse "`ptbposter"'}
\title{Die \LaTeX-Dokumentenklasse "`ptbposter"'}
\begin{document}
~\par\bigskip
\emph{Das Dokument "`\texttt{ptbposter-doc-1}"' enthält den ersten Teil dieser
Anleitung.}
\bigskip
\begin{multicols}{3}
......@@ -36,33 +38,36 @@ Anleitung.}
\begin{itemize}
\item \verb|\scaleFontSizes|: Skaliert alle Schriftgrößen im Textbereich um
den angegebenen Wert. Beispiel: Mit \verb|\scaleFontSizes{1.04}| wird der
Fließtext um 4\,\% vergrößert gesetzt.
\item \verb|\scaleTitleFontSize|: Skaliert die Schriftgröße in der Titelzeile
um den angegebenen Wert. Beispiel: Mit \verb|\scaleTitleFontSize{0.97}| wird der
Titel um 3\,\% verkleinert gesetzt.
\item \verb|\scaletoPaper|: Skaliert das gesamte Dokument auf das als
Parameter angegebene Papierformat, wobei die DIN/ISO"=A"=Reihe bevorzugt
werden sollte. Beispiel: \verb|\scaletoPaper{a4}| erzeugt eine Version des
Posters, die gut archiviert werden kann.
\end{itemize}
Die Zahlenwerte für \verb|\scaleFontSizes| und \verb|\scaleTitleFontSize|
sollten nicht stark von "`1"' abweichen, um das Gesamtbild nicht zu
beeinträchtigen. Die Makros \verb|\phone|, \verb|\fax|, \verb|\email|,
\verb|\workingGroup|, \verb|\department|, \verb|\location|, \verb|\street| und
den angegebenen Wert, sodass die Seite günstig gefüllt ist. Beispiel: Mit
\verb|\scaleFontSizes{1.04}| wird der Fließtext um 4\,\% vergrößert gesetzt
(global in der Preamble).
\item \verb|\relscale| Skaliert aktuelle Schriftgröße (lokal). Siehe dazu
auch Beschreibung zum Paket \verb|relsize|. \columnbreak
\item \verb|\scaleTitleFontSize|: Skaliert die Schrift des Titels um den
angegebenen Wert. Sobald der Titel mehr als eine Zeile einnimmt, wird er
unabhängig von diesem Wert sinnvoll skaliert.
\item \verb|\scaleFont|: Skaliert die aktuelle Schrift lokal um den
angegebenen Wert.
\item \verb|\logo|: Spezielles Logo im Kopfbereich (rechtsbündig)
%\columnbreak
\end{itemize}
Die Zahlenwerten für \verb|\scaleFontSizes|, \verb|\scaleTitleFontSize| und
\verb|\relscale| sollten nicht stark von "`1"' abweichen, um das Gesamtbild
nicht zu beeinträchtigen. Die Makros \verb|\phone|, \verb|\fax|, \verb|\email|,
\verb|\workingGroup|, \verb|\department|, \verb|\location|, \verb|\street| und
\verb|\QRcode| setzen die Informationen im Fußbereich und sind selbsterklärend.
\end{multicols}
\bigskip
Die jeweils aktuelle Version der Dokumentenklasse und der Beispieldokumente ist
im Git"=Repositorium der Arbeitsgruppe~7.54 unter der Adresse
\url{http://a75436.berlin.ptb.de/vaclab/latex/tree/master/ptbposter} zu finden.
Für Anregungen und Kritiken bin ich dankbar.
Die jeweils aktuelle Version der Dokumentenklasse und der Beispieldokumente
sind im Git"=Repositorium der Arbeitsgruppe~7.54 unter der Adresse
\url{https://gitlab1.ptb.de/vaclab/ptb-latex/-/tree/master/ptbposter} zu
finden. Für Anregungen und Kritiken bin ich dankbar.
\medskip
Rolf Niepraschk
Rolf Niepraschk, 3/2025
\end{document}
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbposter-new-engines.clo}%
[2022/09/08 v0.1g `PTB-Poster' new engines (RN/PTB)]
\makeatletter % wegen Laden aus normalem LaTeX-Dokument
\@ifundefined{ifSERIF}{%
\newif\ifSERIF \SERIFfalse
}{}
\@ifundefined{ifMATHSERIF}{%
\newif\ifMATHSERIF \MATHSERIFfalse
}{}
\RequirePackage[no-math]{fontspec}
\RequirePackage[mathit=sym]{unicode-math}
\ifSERIF
\setmainfont{texgyrepagella}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\else
\setsansfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\setromanfont{texgyreheros}[
Ligatures=TeX,
Extension=.otf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic]
\renewcommand*\familydefault{\sfdefault}%
\fi
\ifMATHSERIF
\setmathfont{texgyrepagella-math.otf}[
math-style=TeX,
bold-style=TeX,
]
\else
\setmathfont{FiraMath-Regular.otf}[
Scale=1,
math-style=TeX,
bold-style=TeX,
Numbers={Lining,Proportional},
]
%\RequirePackage[usefilenames,weight=Regular]{firamath-otf}
\setoperatorfont\mathsf
\unimathsetup{partial=upright}%
%\RequirePackage{mathastext}% nicht so gut
\setmathfont{texgyreheros-regular.otf}[range=up/{Latin,Greek,num}]
\setmathfont{texgyreheros-italic.otf}[range=it/{latin,greek}]
\setmathfont{texgyreheros-bolditalic.otf}[range=bfit/{latin,greek}]
\setmathfont{texgyreheros-bold.otf}[range=bfup/{latin,greek}]
\fi
\setmonofont{AnonymousPro-Regular}[%
Extension = .ttf,
BoldFont = AnonymousPro-Bold,
ItalicFont = AnonymousPro-Italic,
BoldItalicFont = AnonymousPro-BoldItalic,
Scale = 1.05,
RawFeature={embolden=.5}
]
\RequirePackage{newunicodechar}
\newunicodechar{^^^^202f}{\,}% 'NARROW NO-BREAK SPACE' (\u202F, 8239)
\newunicodechar{^^^^2009}{\,\hspace{0pt}}% 'THIN SPACE'
\newunicodechar{^^^^00ad}{\-}% 'SOFT HYPHEN'
\endinput
% Rolf Niepraschk, Rolf.Niepraschk@ptb.de
\ProvidesFile{ptbposter-old-engines.clo}%
[2020/03/09 v0.1c `PTB-Poster' old engines (RN/PTB)]
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage{textcomp}
\RequirePackage{tgpagella}
\RequirePackage{tgheros}
\RequirePackage[ttdefault=true,scale=1.034]{AnonymousPro}
\makeatletter % wegen Laden aus normalem LaTeX-Dokument
\@ifundefined{ifSERIF}{%
\newif\ifSERIF \SERIFfalse
}{}
\ifSERIF
\RequirePackage{qpxmath}
\else
%%%\renewcommand*\familydefault{\sfdefault}
%%%\RequirePackage{sfmath}
\@latex@error{works only with `LuaLaTeX' or `XeLaTeX'}{%
type:\MessageBreak
lualatex \jobname.tex\MessageBreak
or\MessageBreak
xelatex \jobname.tex
}%
\@@end
\fi
\endinput
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\ProvidesPackage{ptbposter-tcb}[2021/09/21 1.0.1 ptbposter/tcolorbox (RN)]
\newcommand*\PTB@posterSet{%
columns=3,rows=5,spacing=\PTB@texthsep,showframe=false,}
\newcommand*\posterSet[1]{%
\g@addto@macro\PTB@posterSet{#1,}%
}
\RequirePackage{kvoptions}[2009/07/17]
\SetupKeyvalOptions{%
family=ptbposter-tcb,%
prefix=PTB@,%
}
\DeclareStringOption[2]{boxlayout}
\ProcessKeyvalOptions*\relax
\newcommand*\PTB@boxesSet{}
\newcommand*\ARC{0.005\PTB@scale@base}
\ifcase \PTB@boxlayout
% 0
\g@addto@macro\PTB@boxesSet{enhanced jigsaw,sharp corners=downhill,arc=\ARC}
\or % 1
\g@addto@macro\PTB@boxesSet{enhanced jigsaw,sharp corners=uphill,arc=\ARC}
\or % 2
\g@addto@macro\PTB@boxesSet{enhanced jigsaw,arc=\ARC}
\or % 3
\g@addto@macro\PTB@boxesSet{arc=0pt}
\fi
\RequirePackage[most]{tcolorbox}
\tcbuselibrary{poster}
\usetikzlibrary{shadings,arrows.meta}
\colorlet{backgroundTop}{Goldenrod2!20}
\colorlet{backgroundBottom}{Goldenrod2!90}
\colorlet{boxBackground}{white}
\renewcommand*\backgroundContent{%
\begin{tikzpicture}%
\shade[top color=backgroundTop, bottom color=backgroundBottom,%
shading angle=\ifPTBlandscape 64.07\else 41.55\fi](0,0)%
% Winkel auf Basis von \PTB@framewidth und \PTB@frameheight
rectangle(\PTB@framewidth,\PTB@frameheight);%
\end{tikzpicture}%
}
\tcbposterset{%
coverage={%
height=\textheight,
width=\textwidth,
interior style={opacity=0},
top=0pt,bottom=0pt,left=0pt,right=0pt
}%
}%
\g@addto@macro\PTB@boxesSet{
,boxrule=\PTB@framethickness,
boxsep=0pt,
top=1ex,bottom=1ex,left=1ex,right=1ex,
toptitle=.6ex,bottomtitle=.6ex,lefttitle=1ex,righttitle=1ex,
%before title pre=\strut,
colback=boxBackground,
%opacityback=0.75,% ????
colframe=PTBcolor,
coltitle=white,
fonttitle=\sffamily\bfseries\centering,
title style={PTBcolor},
valign=top% center
}
\tcbset{% scheint so günstiger
adjusted title/.style={title={\raisebox{0pt}[\height][0pt]{#1}}}
}
\AddToHook{begindocument/end}{%
\protected@edef\PTB@tempa{\noexpand\tcbposterset{poster={\PTB@posterSet},%
boxes={\PTB@boxesSet}}}%
\PTB@tempa
\begin{tcbposter}%
}
\AddToHook{enddocument}{%
\end{tcbposter}%
}
\endinput