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 1616 additions and 0 deletions
ptbposter/George.png

42.6 KiB

ptbposter/John.png

55.8 KiB

# Rolf Niepraschk, 2019/05/13, Rolf.Niepraschk@ptb.de
.SUFFIXES : .tex .ltx .dvi .ps .pdf .eps
DOC1 = ptbposter-doc-1
DOC2 = ptbposter-doc-2
ARCHNAME = ptbposter-$(shell date +%Y-%m-%d).zip
all : $(DOC1).pdf $(DOC2).pdf tcb-example1.pdf tcb-example2.pdf
$(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)
veryclean : clean
$(RM) $(addprefix $(DOC1), .pdf)
$(RM) $(addprefix $(DOC2), .pdf)
arch :
zip $(ARCHNAME) $(DOC1).tex $(DOC2).tex $(ADDINPUTS) Makefile
@ echo $(ARCHNAME)
ptbposter/Paul.png

40.6 KiB

## ptbposter
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) 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, 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
File added
\documentclass[
%landscape,
%,english
%,a4paper
,layout2020
]{ptbposter}
\phone{+49-30-3481-7316}
\fax{+49-30-3481-7490}
\email{Rolf.Niepraschk@ptb.de}
\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]
\Author{Rainer}{Unsinn}[1]
\logo{penguin.pdf}
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
\title{Die \LaTeX-Dokumentenklasse "`ptbposter"'}
\begin{document}
\section{Einleitung}
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.
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.
\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}
Ohne Angabe einer Sprachoption werden die Trennregeln für "`ngerman"' (neue
deutsche Rechtschreibung) benutzt.
Das Papierformat ist entsprechend der Vorgabe auf "`A0"' festgelegt. Als
Eingabe-Kodierung wird ausschließlich "`UTF-8"' unterstützt.
\section{Angaben zu Autoren}
\subsection{Ein Autor}
Nur eine einzelne Angabe wie
\begingroup
\scriptsize
\begin{verbatim}
\Author{Max}{Müller}
\end{verbatim}
\endgroup
\subsection{Mehrere Autoren}
Die folgenden Angaben wurden in dieser Beispieldatei verwendet:
\begingroup
\scriptsize
\begin{verbatim}
\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
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}
\bigskip \bigskip
\emph{Das Dokument "`\texttt{ptbposter-doc-2}"' enthält die Fortsetzung dieser
Anleitung.}
\end{document}
File added
\documentclass[
,landscape
%,english
%,a4paper
%,layout2018
,layout2020
]{ptbposter}
\phone{+49-30-3481-7316}
\fax{+49-30-3481-7490}
\email{Rolf.Niepraschk@ptb.de}
\workingGroup{7.54 Vakuummetrologie}
\department{7.5 Wärme und Vakuum}
\location{10587 Berlin}
\street{Abbestraße 2--12}
\Author{Rolf}{Niepraschk}[Physikalisch-Technische Bundesanstalt]
\Author*{Max}{Mustermann}
\Author{Ellen}{Bogen}[Muster Universität Oberstadt]
\Author*{Peter}{Silie}[XYZ GmbH]
\logo{penguin.pdf}
\QRcode{https://www.ctan.org/}
%%\scaleFontSizes{1.05}% Werte nahe an "1" wählen!
\title{Die \LaTeX-Dokumentenklasse "`ptbposter"'}
\begin{document}
\emph{Das Dokument "`\texttt{ptbposter-doc-1}"' enthält den ersten Teil dieser
Anleitung.}
\begin{multicols}{3}
\section{Makros}
\begin{itemize}
\item \verb|\scaleFontSizes|: Skaliert alle Schriftgrößen im Textbereich um
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
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, 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
% Rolf Niepraschk, Rolf.Niepraschk@gmx.de
\setcounter{errorcontextlines}{100} \listfiles
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{ptbposter}[2025/03/12 1.1.1 PTB-Poster (RN)]
\newif\ifPTB@useCMYK \PTB@useCMYKfalse % vorerst
\newif\ifPTB@german@ \PTB@german@false
\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*\backgroundContent{}
\newcommand\PTB@tempa{}
\newcommand\PTB@tempb{}
\newcommand\PTB@tempc{}
\newcommand\PTB@tempd{}
\newcommand\PTB@tempe{}
\newcommand\PTB@tempf{}
\newdimen\PTB@tempdima
\newdimen\PTB@tempdimb
\newdimen\PTB@tempdimc
\newdimen\PTB@tempdimd
\newcounter{PTB@tempcnta}
\newcounter{PTB@tempcntb}
\newbox\PTB@tempboxa
\newif\ifPTBlandscape \PTBlandscapefalse
\newif\ifSERIF \SERIFfalse
\newif\ifMATHSERIF \MATHSERIFfalse
\newif\ifFIRA \FIRAfalse
\newif\ifPTB@logo@long@ \PTB@logo@long@true
\PassOptionsToPackage{pagesize=false}{typearea}
\PassOptionsToPackage{paper=a0paper,onecolumn,portrait,driver=none}{geometry}
\newcommand*\PTB@title@justification{\relax}
\newcommand*\PTB@authors@justification{\relax}
\newcommand*\PTB@title@series{\relax}
\newcommand*\PTB@layout{}
\newcommand*\PTB@target@size{}
\newcommand*\PTB@babel@opt{english,main=ngerman}
\DeclareOption{english}{\def\PTB@babel@opt{ngerman,main=english}}
\DeclareOption{ngerman}{\def\PTB@babel@opt{english,main=ngerman}}
\DeclareOption{german}{\def\PTB@babel@opt{english,main=ngerman}}
\DeclareOption{sanserif}{% noch experimentell! Besser: LuaTeX/XeTeX + OTF
\SERIFfalse
}
\DeclareOption{serif}{%
\SERIFtrue
}
\DeclareOption{mathsanserif}{%
\MATHSERIFfalse
}
\DeclareOption{mathserif}{%
\MATHSERIFtrue
}
\DeclareOption{fira}{%
\FIRAtrue
}
\DeclareOption{boldTitle}{%
\global\let\PTB@title@series=\bfseries
}
\DeclareOption{centerTitle}{%
\global\let\PTB@title@justification=\centering
}
\DeclareOption{raggedTitle}{%
\global\let\PTB@title@justification=\raggedright
}
\DeclareOption{centerAuthors}{%
\global\let\PTB@authors@justification=\centering
}
\DeclareOption{a4paper}{%
\def\PTB@target@size{a4}
}
\DeclareOption{a3paper}{%
\def\PTB@target@size{a3}
}
\DeclareOption{a2paper}{%
\def\PTB@target@size{a2}
}
\DeclareOption{a1paper}{%
\def\PTB@target@size{a1}
}
\DeclareOption{a0paper}{%
\let\PTB@target@size=\@empty
}
\DeclareOption{landscape}{%
\PTBlandscapetrue
\PassOptionsToPackage{\CurrentOption}{geometry}
}
\DeclareOption{portrait}{%
\PTBlandscapefalse
\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}}
\DeclareOption*{\OptionNotUsed}
\ExecuteOptions{serif,raggedTitle,layout2020}
\ProcessOptions\relax
\RequirePackage[\PTB@babel@opt]{babel}
\iflanguage{ngerman}{\PTB@german@true}{}
\LoadClass{scrartcl}
\RequirePackage[verbose]{geometry}%
\@ifundefined{changefontsizes}{%
\ClassError{ptbposter}{%
Your version of KOMA-Script is unsuitable\MessageBreak
(probably very outdated)!
}{%
Install the latest version of KOMA-Script.
}%
\@@end
}{}
\ifx\PTB@target@size\@empty\else % Sheet scaling is necessary
\RequirePackage{blowup}
\IfPackageAtLeastTF{blowup}{2022/09/19}{%
\ClassNoteNoLine{ptbposter}{%
Scaling the sheet from size `a0' to size `\PTB@target@size'}%
\ifPTBlandscape
\blowUp{target=\PTB@target@size,landscape}
\else
\blowUp{target=\PTB@target@size}
\fi
}{%
\ClassError{ptbposter}{%
You need version `2022/09/19' or newer of the \MessageBreak
`blowup' package to scale the document, but only \MessageBreak
version `\csname ver@blowup.sty\endcsname' \MessageBreak
is available
}{%
Install the latest version of `blowup'.
}%
\@@end
}
\fi
\iftutex% LuaTeX oder XeTeX
\input{ptbposter-new-engines.clo}
\else
\input{ptbposter-old-engines.clo}
\fi
\let\eth=\relax
\RequirePackage{amsmath,array,ragged2e}
\RequirePackage[dvipsnames,svgnames,x11names]{xcolor}
\RequirePackage{multicol,graphicx}
\ifxetex\else
\RequirePackage[%
,factor=1500
,protrusion=true
,expansion=true
,verbose=true
,final=true
,letterspace=100
,babel=true
]{microtype}
\fi
\providecommand*\microtypesetup[1]{}
\AtEndOfClass{%
\ifPTB@german@
\shorthandon{"}%
\defineshorthand{"`}{\guillemotright}%
\defineshorthand{"'}{\guillemotleft}%
\fi
\RequirePackage[final,pdfpagelabels=false,%
plainpages=false,hypertexnames=true,hyperfootnotes=false]{hyperref}%
}
\RequirePackage
[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}
% icc:model: Europe ISO Coated FOGRA27
\else
%%%\definecolor{PTBcolor}{rgb}{0,0.67451,0.87451}
%%%\definecolor{PTBcolor}{HTML}{00ACDF}
\definecolor{PTBcolor}{RGB}{0,155,206}% 2019
\fi
% == Emulieren einiger eso-pic-Befehle, um den Inhalt skalierbar zu machen ==
%%% TODO: eso-pic ändern?
\RequirePackage{atbegshi}
\newcommand\PTB@AtBeginShipoutUpperLeft[1]{%
\AtBeginShipout{\AtBeginShipoutUpperLeft{#1}}%
}
\newcommand\PTB@AtBeginShipoutUpperLeftForeground[1]{%
\AtBeginShipout{\AtBeginShipoutUpperLeftForeground{#1}}%
}
\newcommand\PTB@AddToShipoutPictureBG{%
\@ifstar{\PTB@AtBeginShipoutUpperLeft}%
{\PTB@AtBeginShipoutUpperLeft}%
}
\newcommand\PTB@AddToShipoutPictureFG{%
\@ifstar{\PTB@AtBeginShipoutUpperLeftForeground}%
{\PTB@AtBeginShipoutUpperLeftForeground}%
}
\newcommand\PTB@AtPageUpperLeft[1]{%
\put(0,0){#1}%
}
\newcommand\PTB@AtPageLowerLeft[1]{%
\put(0,-\paperheight){#1}%
}
\newcommand\PTB@AtPageCenter[1]{\PTB@AtPageUpperLeft{%
\put(.5\paperwidth,-.5\paperheight){#1}}%
}
\newcommand\PTB@AtTextUpperLeft[1]{%
\begingroup
\@tempdima=1in\relax
\if@twoside
\ifodd\c@page
\advance\@tempdima\oddsidemargin
\else
\advance\@tempdima\evensidemargin
\fi
\else
\advance\@tempdima\oddsidemargin
\fi
\@tempdimb=-1in\relax
\advance\@tempdimb-\topmargin
\advance\@tempdimb-\headheight
\advance\@tempdimb-\headsep
\PTB@AtPageUpperLeft{%
\put(\@tempdima,\@tempdimb){#1}%
}%
\endgroup
}
\newcommand\PTB@AtTextLowerLeft[1]{%
\PTB@AtTextUpperLeft{\put(0,-\textheight){#1}}%
}
% --------------------------------------------------------------------
\RequirePackage{pict2e,picture,ifdraft,booktabs}
\RequirePackage{varwidth,qrcode}
% ===== 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
\@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
\@@Author}
\newcommand\@@Author[2][]{% \PTB@tempc=[alt. Firstname],\PTB@tempd={Surname}
\def\PTB@tempc{#1}\def\PTB@tempd{#2}% TODO: \PTB@tempc unsinnig, oder?
\@@@Author}
\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{,}}% TODO: ???
\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
\def\reserved@a{!}%
\ifx\PTB@tempf\reserved@a
\xdef\first@author{\PTB@tempb~\PTB@tempd}% alternat. first author
\fi
\ifx\PTB@tempa\@empty\else
\expandafter\g@addto@macro\expandafter\@author
\expandafter{\expandafter\PTB@fnmark\expandafter{\PTB@tempa}}%
\fi
\ifx\PTB@tempe\@empty\else
\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$}%
\ifdim\paperheight>\paperwidth
\setlength\PTB@scale@base{\paperheight}
\PTBlandscapefalse
\else
\setlength\PTB@scale@base{\paperwidth}
\PTBlandscapetrue
\fi
\RequirePackage{relsize}% ???
\renewcommand*\RSpercentTolerance{0}%
\renewcommand*\RSlargest{5000pt}% important!
\renewcommand*\RSsmallest{0pt}
\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@texthsep{0.0062164016879\PTB@scale@base}% 21.03029pt (A0)
\setlength\PTB@textvsep{\PTB@texthsep}% 21.03029pt (A0)
\setlength\PTB@maxtitleheight{0.057\PTB@scale@base}%
\setlength\PTB@framethickness{0.00168208578994\PTB@scale@base}%
\setlength\fboxsep{0.00355\PTB@scale@base} % 3pt (A4), 12pt (A0)
\setlength\fboxrule{0.0004722\PTB@scale@base}% 0.4pt (A4), 1.6pt (A0)
\setlength\PTB@leftmargin{0.5\dimexpr\paperwidth-\PTB@framewidth}%
\PTB@tempdima=\dimexpr\PTB@leftmargin+\PTB@texthsep %
\geometry{%
verbose,
top=\dimexpr\PTB@topmargin+\PTB@textvsep,%
left=\PTB@tempdima,
right=\PTB@tempdima,
textheight=\dimexpr\PTB@frameheight-2\PTB@textvsep,%
columnsep=1.5em,hcentering}
\setlength\emergencystretch{3em}%
\@ifpackageloaded{multicol}{%
\def\setemergencystretch#1#2{}%
}{}%
\RequirePackage{enumitem}
\setlist{leftmargin=.6em,labelsep=.3em,nosep,topsep=.5em,itemsep=.25em}
\setlist[1]{labelindent=1em}
}
\KOMAoptions{captions=oneline}
\newcommand*\ptb@figure{%
\trivlist\item\relax
\minipage{\linewidth}%
\def\@captype{figure}%
}
\newcommand*\ptb@table{%
\trivlist\item\relax
\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][]{%
\ptb@table
}{\ptb@endfigtab}
\renewenvironment{table*}[1][]{%
\ptb@table
}{\ptb@endfigtab}
\addtokomafont{caption}{\small}
\addtokomafont{captionlabel}{\sffamily\bfseries}
\setcapindent{1em}
%\setcapwidth[l]{\linewidth}
\AtBeginDocument{%
\RedeclareSectionCommand[%
style=section,%
level=1,%
indent=\z@,%
beforeskip=-2ex \@plus -1ex \@minus -.2ex,%
afterskip=0.4ex \@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}
}
% non-floating figure/table
\renewenvironment{figure}[1][]{%
\def\@captype{figure}%
\par\nobreak}
{\par\nobreak}
\renewenvironment{table}[1][]{%
\def\@captype{table}%
\par\nobreak}
{\par\nobreak}
\let\bib@heading=\relax % no head line for bibliography (\refname)
\setcounter{secnumdepth}{-2}
\renewcommand*\maketitle[1][1]{}
\renewcommand*\tableofcontents{}
\pagestyle{empty}
\raggedbottom
\endinput
File added
\documentclass[%
,sanserif
,a4paper
]{ptbposter}
\usepackage[
%,boxlayout=0 % 0, 1, 2, 3 -- default: 2
]{ptbposter-tcb}
\phone{+49-30-3481-7316}
\fax{+49-30-3481-7503}
\email{Rolf.Niepraschk@ptb.de}
\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}
%\logo{Logo754.pdf}
\colorlet{boxBackground}{OliveGreen!10}
\posterSet{showframe=true,columns=2}
%\posterSet{spacing=.01\paperwidth}
\scaleFontSizes{.7}% global font scaling
\newcommand*\cmd[1]{\texttt{\textbackslash #1}}
\title{Poster-Test (\texttt{ptbposter-tcb.sty}) -- Nr.~1}
\begin{document}
\begin{posterboxenv}[adjusted title=Lokale Schriftskalierung]%
{name=A1,column=1,below=top}
\relscale{.9}% local font scaling
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=Das ist Box A2]%
{name=A2,column=1,below=A1}
\begin{minipage}[c]{.485\linewidth}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
\end{minipage}
\hfill
\begin{minipage}[c]{.485\linewidth} \centering
\textcolor{red!30}{\rule{.8\linewidth}{.6\linewidth}} \\
\vspace{2ex}
\textcolor{red!30}{\rule{.8\linewidth}{.6\linewidth}}
\end{minipage}
\begin{minipage}[c][.14\linewidth][b]{\linewidth}
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla Blabla
\end{minipage}
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=Das \LaTeX-Paket »\texttt{ptbposter-tcb}«,%
text fill]{name=A3,column=1,span=2,below=A2}
\raggedcolumns
\begin{multicols}{2}
\section{Paketoption}
\begin{verbatim}
\usepackage[boxlayout=2]% 0, 1, 2, 3 (default: 2)
{ptbposter-tcb}
\end{verbatim}
Wählt unterschiedliche Arten von Boxen aus.
\section{Makros}
\verb|\posterSet|: Setzt Parameter zur Boxenpositionierung:
\begin{itemize}
\item \verb!showframe=true|false! (Informationen zur Orientierung)
\item \verb!columns=n!: Anzahl der Spalten
\item \verb!rows=n!: Anzahl der Zeilen
\item \verb!spacing=n!: Abstand zwischen den Boxen und zum Rand
\end{itemize} \columnbreak
\section{Boxparameter}
\begin{verbatim}
\begin{posterboxenv}[adjusted title=Blabla,text fill]%
{name=ABC,column=x,row=y,span=m,rowspan=n}
\end{verbatim}
\begin{itemize}
\item "`\verb!adjusted title=!"': Titel
\item "`\verb!text fill!"': Verhalten wie "`\verb!minipage!
\item "`\verb!name=!"': Knotenname als Bezug bei Positionierung
\item "`\verb!column=x,row=y!"': Position auf dem Raster
\item "`\verb!span=m,rowspan=n!"': Breite und Höhe
\end{itemize}
\bigskip
Näheres siehe Dokumentation zu "`tcolorbox"'~\cite{TCOLORBOX}.
\end{multicols}
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=\cmd{vfill}-Beispiel,text fill]
{name=A4,column=1,between=A3 and bottom} \bfseries
X \dotfill X
\vfill% erfordert Option "text fill"
X \dotfill X
\vfill
X \dotfill X
\end{posterboxenv}
% =======================================================================================
\begin{posterboxenv}[adjusted title=figure-Umgebung (nicht gleitend)]%
{name=B1,column=2,below=top}
\begin{figure} \centering
\textcolor{red!30}{\rule{.56\linewidth}{.42\linewidth}}
\caption{Ein Bild}
\end{figure}
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=\cmd{tcbhighmath}]%
{name=B2,column=2,below=B1}
For all natural number $n$ it holds:
\begin{equation}
\tcbhighmath{\sum\limits_{i=1}^n i = \frac{n(n+1)}{2}.}
\end{equation}
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=table-Umgebung (nicht gleitend),%
valign=center]{name=B3,column=2,between=B2 and A3}
\begin{table} \centering
\begin{multicols}{2}
\setlength\extrarowheight{.5ex}
\begin{tabular}{>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}}
letter & 216 & 279 \\
legal & 216 & 356 \\
executive & 184 & 267 \\
A8 & 52 & 74 \\
A7 & 74 & 105 \\
A6 & 105 & 148 \\
\end{tabular}
\begin{tabular}{>{\bfseries}l<{:}r<{\,mm}!{$\times$}r<{\,mm}}
A5 & 148 & 210 \\
A4 & 210 & 297 \\
A3 & 297 & 420 \\
A2 & 420 & 594 \\
A1 & 594 & 841 \\
A0 & 841 & 1189 \\
\end{tabular}
\end{multicols}
\caption{Papiergrößen}
\end{table}
\end{posterboxenv}
\begin{posterboxenv}[adjusted title=\refname]%
{name=B4,column=2,above=bottom}
\begin{thebibliography}{99}
\bibitem{TCOLORBOX} Thomas F.~Sturm: The tcolorbox package, Library poster,
S.~438--451,
\url{http://mirrors.ctan.org/macros/latex/contrib/tcolorbox/tcolorbox.pdf}
\newblock
\bibitem{TIKZ} Till Tantau: TikZ \& PGF Manual,
\url{http://mirrors.ctan.org/graphics/pgf/base/doc/pgfmanual.pdf}
\newblock
\bibitem{TIKZ.MINI} Jacques~Crémer: A very minimal introduction to TikZ,
\url{http://cremeronline.com/LaTeX/minimaltikz.pdf}
\end{thebibliography}
\end{posterboxenv}
\end{document}