commit d6d51e218f55feec3986723c4091a1a56385a952 Author: manuelthieme Date: Sun Jun 9 14:04:32 2019 +0200 initial commit diff --git a/Bungee-Regular.ttf b/Bungee-Regular.ttf new file mode 100644 index 0000000..97ba7de Binary files /dev/null and b/Bungee-Regular.ttf differ diff --git a/background.pdf b/background.pdf new file mode 100644 index 0000000..d8dba1f Binary files /dev/null and b/background.pdf differ diff --git a/background_v1.pdf b/background_v1.pdf new file mode 100644 index 0000000..2d8e08f Binary files /dev/null and b/background_v1.pdf differ diff --git a/kifschild.cls b/kifschild.cls new file mode 100644 index 0000000..578538f --- /dev/null +++ b/kifschild.cls @@ -0,0 +1,197 @@ +%vim:ft=tex +\ProvidesClass{kifschild}[2019/06/09 Poster auf der KIF] +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ProcessOptions\relax +\LoadClass{scrartcl} + +% packages +\usepackage[landscape, left=.0cm, bottom=0.3cm, top=.3cm, right=1.25cm]{geometry} +\usepackage{qrcode} +\usepackage{xcolor} +\definecolor{kifgray}{HTML}{595959} +\usepackage{montserrat} +% \usepackage{raleway} +\usepackage{fontspec} +\setmainfont[Color=kifgray]{[Bungee-Regular.ttf]} +%\setmainfont{Montserrat} +% \setmainfont{Raleway} + +\usepackage{background} +\backgroundsetup{scale = 1.0, angle = 0, opacity = 1.0,% + contents = {\includegraphics[width = \paperwidth, height = \paperheight, + keepaspectratio] {background}}}% + +% fitbox stuff +\usepackage{environ}% http://ctan.org/pkg/environ +\newdimen\fontdim% +\newdimen\upperfontdim% +\newdimen\lowerfontdim% +\newif\ifmoreiterations% +\fontdim12pt + +\newbox\trialbox% +\newbox\linebox% +\global\newcount\maxbad% +\newcount\linebad% +\newcount\currenthbadness% + + +\makeatletter +\NewEnviron{fitbox}[2]{% \begin{fitbox}{}{} stuff \end{fitbox} + % Store environment body + \def\stuff{% + \BODY% + }% + % prepare badness box + \def\badnessbox{% + \global\maxbad=0\relax% + \currenthbadness=\hbadness% save old \hbadness + \hbadness=10000000\relax% make sure, TeX reports overfull boxes + \message{Starting measureline recursion with width #1^^J}% + \setbox\trialbox=\vbox{% + \hsize#1\relax% + \fontsize{\fontdim}{1.2\fontdim}% + \selectfont% + \stuff\par% + \measurelines% start recursion + }% +% \noindent\usebox\trialbox\par + \hbadness=\currenthbadness% restore old \hbadness + } + % prepare recursion to measure line badness + \def\measurelines{% + \message{Iteration of measurelines^^J}% + \begingroup% + \setbox\linebox=\lastbox% get the last line + \setbox0=\hbox% + to \hsize{\unhcopy\linebox}% put the last line into box0 to provoke badness calculation + \linebad=\the\badness\relax% \badness now reflects the last typeset box, i.e. box0 + \message{Badness: \the\badness\space\the\linebad\space with max \the\maxbad\space at Fontsize: \the\fontdim\space^^J}% + \ifnum\linebad>\maxbad% store the maximum badness + \global\maxbad=\linebad% Uncomment this line to ignore overfull hboxes! + \fi% + \ifvoid% end of recursion + \linebox% + \else% + \unskip\unpenalty\measurelines% do the recursion + \ifhmode% + \newline% + \fi% + \noindent\box\linebox% do the output + \fi% + \endgroup% + }% + % Prepare measurement box + \def\buildbox{% + \badnessbox% measure badness + \setbox0\vbox{% measure height + \hbox{% + \fontsize{\fontdim}{1.2\fontdim}% + \selectfont% + \minipage{#1}% + \vbox{% + \stuff\par% + }% + \endminipage% + }% + }% + \message{Measured badness: \the\maxbad\space at Fontsize: \the\fontdim\space^^J}% + \dimen@\ht0 + \advance\dimen@\dp0 + \message{Measured box height: \the\dimen@\space^^J}% + }% + \def\shrinkheight{% + \loop% + \fontdim.5\fontdim% Reduce font size by half + \buildbox% + \message{Shrinking, new box height: \the\dimen@\space at Fontsize: \the\fontdim\space^^J}% + \ifdim\dimen@>#2 \repeat% + \lowerfontdim\fontdim% + \upperfontdim2\fontdim% + \fontdim1.5\fontdim% + }% + \def\shrinkwidth{% + \loop% + \fontdim.5\fontdim% Reduce font size by half + \buildbox% + \ifnum\maxbad>10000 \repeat% + \lowerfontdim\fontdim% + \upperfontdim2\fontdim% + \fontdim1.5\fontdim% + }% + \def\growheight{% + \loop% + \fontdim2\fontdim% Double font size + \buildbox% + \message{Growing, new box height: \the\dimen@\space at Fontsize: \the\fontdim\space^^J}% + \ifdim\dimen@<#2 \repeat% + \upperfontdim\fontdim% + \lowerfontdim.5\fontdim% + \fontdim.75\fontdim% + }% + \buildbox% + % Compute upper and lower bounds + \ifdim\dimen@>#2 + \message{Need to shrink box height: \the\dimen@\space^^J}% + \shrinkheight% + \else + \message{Need to grow box height: \the\dimen@\space to target: #2^^J}% + \growheight% + \fi + \message{Max font: \the\upperfontdim\space^^J}% + \message{Min font: \the\lowerfontdim\space^^J}% + % Potentially further reduce bounds for overfull box + \ifnum\maxbad>10000 + \shrinkwidth% + \fi + \message{Max font adjusted: \the\upperfontdim\space^^J}% + \message{Min font adjusted: \the\lowerfontdim\space^^J}% + % Now try to find the optimum height and width + \loop% + \buildbox% + \message{Height: \the\dimen@\space^^J}% + \ifdim\dimen@>#2 + \moreiterationstrue% + \upperfontdim\fontdim% + \advance\fontdim\lowerfontdim% + \fontdim.5\fontdim% + \else + \ifnum\maxbad>10000 + \moreiterationstrue% + \upperfontdim\fontdim% + \advance\fontdim\lowerfontdim% + \fontdim.5\fontdim% + \else + \advance\dimen@-#2 + \ifdim\dimen@<10pt + \lowerfontdim\fontdim% + \advance\fontdim\upperfontdim% + \fontdim.5\fontdim% + \dimen@\upperfontdim% + \advance\dimen@-\lowerfontdim% + \ifdim\dimen@<.2pt + \moreiterationsfalse% + \else + \moreiterationstrue% + \fi + \else + \moreiterationsfalse% + \fi + \fi + \fi + \ifmoreiterations\repeat% + \message{Selected font: \the\fontdim\space^^J}% + \vbox% + to #2{\box0\hbox{}}% Typeset content +}% +\makeatother + +\usepackage[hidelinks]{hyperref} + + + + +% pagestyle +\pagestyle{empty} + + diff --git a/kifschild.tex b/kifschild.tex new file mode 100644 index 0000000..07abf53 --- /dev/null +++ b/kifschild.tex @@ -0,0 +1,34 @@ +\documentclass{kifschild} + +\begin{document} + +\begin{minipage}[b][\textheight][b]{.25\textwidth}% + \centering + % pictogram + %\includegraphics[width=\textwidth, keepaspectratio]{charlie.jpg}% + + % qrcode + \qrcode[height=.95\textwidth]{https://m.dvb.de} + \begin{fitbox}{.95\textwidth}{1cm} + \url{https://m.dvb.de} + \end{fitbox} +\end{minipage} +% +\hspace{.05\textwidth} +% +\begin{minipage}[b][\textheight][c]{.65\textwidth} + + \begin{fitbox}{\textwidth}{.5\textheight} % adjust textheight here if too big + \centering + NP + \end{fitbox} + + \vspace{2cm} + \begin{fitbox}{\textwidth}{.22\textheight} + \centering + Unisex-Toilette\\ + (nicht pissoiriert) + \end{fitbox} +\end{minipage} + +\end{document}