initial commit

This commit is contained in:
Christian Clason 2022-03-06 18:53:45 +01:00
commit 34731ad492
8 changed files with 1238 additions and 0 deletions

BIN
Nawi_Graz_Logo_2015.pdf Normal file

Binary file not shown.

9
README.md Normal file
View file

@ -0,0 +1,9 @@
# KFUposter: LaTeX template for posters in KFU corporate design
This repository contains LaTeX sources (based on `tikzposter`) for
presentations following roughly the current (March 2022) version
of the Corporate Design manual of the University of Graz.
Note: only A0 size is currently supported!

BIN
fwflogo.pdf Normal file

Binary file not shown.

BIN
kfulogo.pdf Normal file

Binary file not shown.

252
kfuposter.sty Normal file
View file

@ -0,0 +1,252 @@
%% kfuposter.sty
%% author: christian clason (c.clason@uni-graz.at)
%
% tikzposter style for University of Graz
% implements layout according to corporate design of 2022
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{kfuposter}[2021/03/06 v0.2 Uni Graz CD posters]
\usepackage[hypertexnames=false,plainpages=false,colorlinks=true,
linkcolor=black,urlcolor=black,citecolor=black,breaklinks=true]{hyperref}
\newcommand{\email}[1]{\href{mailto:#1}{\texttt{#1}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% fonts and language support
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\RequirePackage[utf8]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[sfdefault,vvarbb,scaled=0.95]{notomath}
\RequirePackage[book,medium,scaled=0.85,sfdefault]{FiraSans}
\RequirePackage[scaled=0.85]{FiraMono}
\frenchspacing
\usepackage[kerning,spacing]{microtype}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% define colors
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\definecolor{hrefcolor}{rgb}{0.0,0.4,0.7}
\definecolor{citecolor}{rgb}{0.0,0.35,0.2}
\definecolor{linkcolor}{RGB}{0,76,147}
\definecolor{kfu@gray}{RGB}{198,198,198}
\definecolor{kfu@yellow}{RGB}{255,213,0}
\definecolor{kfu@white}{RGB}{255,255,255}
\definecolor{kfu@black}{RGB}{0,0,0}
\definecolor{kfu@nawi}{RGB}{6,120,180}
\definecolor{kfu@math}{RGB}{144,174,181}
\definecolor{kfu@model}{RGB}{204,167,108}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% references
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\cite}[1]{{\normalsize [#1]}}
\usepackage[export]{adjustbox}
\usepackage[backend=biber,%
safeinputenc,% encode unicode as latex (needs to be first)
maxcitenames=2,%
maxbibnames=99,%
citestyle=numeric,%
uniquename=false,% last names only in authoryear cite
bibstyle=numeric,%
giveninits=true,%
defernumbers=true
]{biblatex}
\ExecuteBibliographyOptions{doi=false}
\ExecuteBibliographyOptions{isbn=false}
\renewbibmacro{publisher+location+date}{%
\printlist{publisher}%
\setunit*{\addcomma\space}%
\printlist{location}%
\setunit*{\addcomma\space}%
\usebibmacro{date}%
\newunit}
\renewbibmacro{in:}{\ifentrytype{article}{}{\printtext{\bibstring{in}\intitlepunct}}}
\DeclareFieldFormat[article,inproceedings,incollection]{title}{\mkbibemph{#1\isdot}}
\DeclareFieldFormat{journaltitle}{#1\isdot}
\DeclareFieldFormat{booktitle}{#1\isdot}
\renewcommand{\mkbibnamegiven}[1]{\ifbibliography{\textsc{#1}}{#1}}
\renewcommand{\mkbibnamefamily}[1]{\ifbibliography{\textsc{#1}}{#1}}
\DeclareFieldFormat{url}{%
\iffieldundef{doi}{%
\mkbibacro{URL}\addcolon\space\url{#1}%
}{}%
}
\DeclareFieldFormat{urldate}{%
\iffieldundef{doi}{%
\mkbibparens{\bibstring{urlseen}\space#1}%
}{}%
}
\newbibmacro{string+doi}[1]{%
\iffieldundef{doi}{#1}{\href{http://dx.doi.org/\thefield{doi}}{#1}}}
\DeclareFieldFormat*{title}{\usebibmacro{string+doi}{\mkbibemph{#1}}}
\DeclareNameAlias{sortname}{last-first}
\renewcommand{\bibinitdelim}{\addnbthinspace}
\AtEveryBibitem{%
\clearfield{month}%
}
\DeclareFieldFormat{eprint:arxiv}{%
\mkbibacro{arXiv}\addcolon\space\href{http://arxiv.org/abs/#1}{
\nolinkurl{#1}}%
}
\AtBeginBibliography{\footnotesize}
\addbibresource{references.bib}
\usepackage[hypertexnames=false,plainpages=false,colorlinks=true,
linkcolor=black,urlcolor=black,citecolor=black,breaklinks=true]{hyperref}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% title header
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\and}{\quad}
\settitle{%
\parbox[t][7.94cm][t]{0.6\textwidth}{
\raggedright
\color{titlefgcolor} {\bfseries \Huge \@title \par}
\vspace*{1em}
{\LARGE \scshape \@author \par} \vspace*{5mm} {\Large \@institute}
}}
\titlegraphic{%
\begin{minipage}[b]{0.175\textwidth}
\includegraphics[width=\textwidth]{kfulogo}
\end{minipage}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% define styles
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\definecolorstyle{kfu}{
}{
% Background Colors
\colorlet{backgroundcolor}{kfu@white}
\colorlet{framecolor}{kfu@yellow}
% Title Colors
\colorlet{titlefgcolor}{kfu@black}
\colorlet{titlebgcolor}{kfu@black}
% Block Colors
\colorlet{blocktitlebgcolor}{kfu@yellow}
\colorlet{blocktitlefgcolor}{kfu@black}
\colorlet{blockbodybgcolor}{kfu@white}
\colorlet{blockbodyfgcolor}{kfu@black}
% Innerblock Colors
\colorlet{innerblocktitlebgcolor}{kfu@white}
\colorlet{innerblocktitlefgcolor}{kfu@black}
\colorlet{innerblockbodybgcolor}{kfu@white}
\colorlet{innerblockbodyfgcolor}{kfu@black}
% Note colors
\colorlet{notefgcolor}{kfu@black}
\colorlet{notebgcolor}{kfu@white}
\colorlet{notefrcolor}{kfu@white}
}
\definebackgroundstyle{kfu}{
\fill[inner sep=0pt, line width=0pt, color=backgroundcolor]%
(bottomleft) rectangle (topright);
}
\definetitlestyle{kfu}{
width=\paperwidth, roundedcorners=0, linewidth=7pt, innersep=1.5cm,
titletotopverticalspace=0mm, titletoblockverticalspace=20mm
}{
\draw[draw=kfu@yellow, line width=\titlelinewidth]%
($(\titleposleft,\titlepostop)+(1.5,-0.8475\titlegraphicheight)$) -- ($((0.65\titleposright,\titlepostop)+(0,-0.8475\titlegraphicheight)$);
\node[inner sep=0pt, anchor=west, text=titlefgcolor]%
at ($(bottomleft)+(0.5,0.66)$){\@date};
\draw[draw=kfu@yellow, line width=\titlelinewidth]%
($(bottomleft)+(0,1.5)$) -- ($(bottomleft)+(\textwidth,1.5)$);
\node[inner sep=0pt, anchor=north east]%
at ($(\titleposright,\titlepostop)+(0,0)$){\@titlegraphic};
\ifx\sponsorlogos\@empty\else%
\node[anchor=south east] at ($(bottomleft)+(0.9925\textwidth,1.75)$)
{%
\foreach \img in \sponsorlogos {%
\hspace{0.01\textwidth}
\includegraphics[height=0.05\textwidth,keepaspectratio=true]{\img}%
}%
};%
\fi
}
\defineblockstyle{kfu}{
titlewidthscale=1, bodywidthscale=1, titleleft,
titleoffsetx=0pt, titleoffsety=0pt, bodyoffsetx=0pt, bodyoffsety=0pt,
bodyverticalshift=0pt, roundedcorners=0, titleinnersep=0.5cm,
bodyinnersep=1cm, linewidth=10pt
}{
\begin{scope}[line width=\blocklinewidth, rounded corners=\blockroundedcorners]
\ifBlockHasTitle %
\draw[draw=none]
(blockbody.south west) rectangle (blocktitle.north east);
\draw[color=blocktitlebgcolor]
(blocktitle.south west) -- (blocktitle.south east);%
\else
\draw[draw=none]
(blockbody.south west) rectangle (blockbody.north east);
\fi
\end{scope}
% \ifBlockHasTitle%
% \draw[draw=none, fill=blocktitlebgcolor]%
% (blocktitle.south west) rectangle (blocktitle.north east);
% \fi%
\draw[draw=none, fill=blockbodybgcolor,rounded corners=\blockroundedcorners]%
(blockbody.north west) [rounded corners=0] -- (blockbody.south west) --
(blockbody.south east) [rounded corners=0]-- (blockbody.north east) -- cycle;
}
\defineinnerblockstyle{kfu}{
titlewidthscale=1, bodywidthscale=1, titleleft,
titleoffsetx=0pt, titleoffsety=0pt, bodyoffsetx=0pt, bodyoffsety=0pt,
bodyverticalshift=0pt, roundedcorners=0, linewidth=1.5mm,
titleinnersep=10pt, bodyinnersep=10pt
}{
\begin{scope}[line width=\innerblocklinewidth, rounded corners=\innerblockroundedcorners]
\ifInnerblockHasTitle %
\draw[draw=none, fill=innerblockbodybgcolor]
(innerblockbody.south west) rectangle (innerblocktitle.north east);
\draw[color=innerblocktitlebgcolor, loosely dashed]
(innerblocktitle.south west) -- (innerblocktitle.south east);%
\else
\draw[draw=none, fill=innerblockbodybgcolor]
(innerblockbody.south west) rectangle (innerblockbody.north east);
\fi
\end{scope}
}
\definenotestyle{kfu}{
targetoffsetx=0pt, targetoffsety=0pt, angle=0, radius=8cm, width=8cm,
connection=false, rotate=0, roundedcorners=20, linewidth=0pt, innersep=1cm
}{
\ifNoteHasConnection %% callout note
\draw[color=notefrcolor, fill=notebgcolor]%
(notetarget) -- ($(notetarget)!1!4:(notecenter.center)$) --
($(notetarget)!1!-4:(notecenter.center)$) --cycle; %
%
\fi
% the body of the note
\draw[color=notefrcolor, fill=notebgcolor, rounded
corners=\noteroundedcorners] (notecenter.south west) -- (notecenter.north
west) -- (notecenter.north east) -- (notecenter.south east) -- cycle;
}
\definelayouttheme{kfu}{
\usecolorstyle{kfu}
\usebackgroundstyle{kfu}
\usetitlestyle{kfu}
\useblockstyle{kfu}
\useinnerblockstyle{kfu}
\usenotestyle{kfu}
}
\usetheme{kfu}
\newcommand{\columnstitle}[1]{%
\begingroup%
\colorlet{blocktitlebgcolor}{kfu@gray}%
\block[titlecenter]{#1}{}%
\endgroup
}
\def\sponsorlogos{}
\newcommand{\sponsors}[1]{\def\sponsorlogos{#1}}
\tikzposterlatexaffectionproofoff % disable watermark in bottom right

151
kfuposter.tex Normal file
View file

@ -0,0 +1,151 @@
\documentclass[%
a0paper, % paper size: a0paper (default, a1paper, a2paper
25pt, % font size: 25pt (A0, default), 20pt, 17pt (A1), 14pt, 12pt (A0)
portrait % orientation
]{tikzposter}
\usepackage{kfuposter}
\usepackage{lipsum}
\renewcommand{\cite}[1]{{\normalsize [#1]}}
% Title, Author, Institute
\title{On an interesting equation}
\author{Christian Clason\textsuperscript{1} \and Someone Else\textsuperscript{2}}
\institute{%
\textsuperscript{1}Department of Mathematics and Scientific Computing, University of Graz\\
\textsuperscript{2}Faculty of Mathematics, University of Somewhere Else
}
\date{} % uncomment out to remove date in footer
% optional: sponsor logos above footer (comma-separated list of image files)
\sponsors{Nawi_Graz_Logo_2015,fwflogo}
\begin{document}
% Title block with title, author, logo, etc.
\maketitle
\begin{columns}
% FIRST column
\column{0.5}% Width set relative to text width
\block{Motivation}{%
\begin{minipage}[t]{0.485\linewidth}
\vfill
\begin{equation*}
1+1 = 2
\end{equation*}
\medskip
\textbf{Standard questions:}
\begin{enumerate}
\item does this \textbf{make sense} \\
$\leadsto$ philosophy of mathematics
\item is it \textbf{correct} \\
$\leadsto$ logic
\item does it \textbf{hold for other numbers} \\
$\leadsto$ algebra
\end{enumerate}
\end{minipage}
\hfill
\begin{minipage}[t]{0.485\linewidth}
\textbf{Current research:}
\begin{itemize}
\item $1$ \textbf{unnatural number}
\item $=$ \textbf{inexact}
\end{itemize}
\normalsize
\lipsum[4]
\end{minipage}
}
% SECOND column
\column{0.5}
\block{Previous work: Algorithms for natural numbers}{
\lipsum[1]
}
\end{columns}
\columnstitle{Description of work packages}
\begin{columns}
% FIRST column
\column{0.5}% Width set relative to text width
\block{A1: Properties of unnatural numbers}{%
\lipsum[2-4]
}
\block{A2: Correctness of unnatural equations}{%
\lipsum[5-7]
}
\column{0.5}
\block{B1: Senselessness of inexact equations}{%
\lipsum[8-10]
}
\block{B2 Solving inexact equations}{%
\lipsum[10-12]
}
\end{columns}
\begin{columns}
\begingroup
\column{0.5}
\block{Conclusions}{%
\normalsize
\begin{minipage}[t]{0.485\linewidth}
\textbf{The equation}
\begin{itemize}
\item \emph{makes sense}
\item is \emph{correct}
\item holds \emph{for unnatural numbers}
\end{itemize}
\end{minipage}
\hfill
\begin{minipage}[t]{0.485\linewidth}
\textbf{Outlook:}
\smallskip
\begin{itemize}
\item extension to \emph{surreal numbers}
\smallskip
\item \emph{numerical evaluation}
\end{itemize}
\end{minipage}
}
\column{0.5}
\block{Own project-related publications}{%
\nocite{%
Paper1,
Paper2,
}
\normalsize
\begin{minipage}[t]{0.485\linewidth}
\textbf{Peer-reviewed}:
\begin{refcontext}
\printbibliography[heading=none,keyword=own,notkeyword=preprint]
\end{refcontext}
\end{minipage}
\hfill
\begin{minipage}[t]{0.485\linewidth}
\textbf{Other publications}:
\begin{refcontext}
\printbibliography[heading=none,keyword=own,keyword=preprint,resetnumbers=false]
\end{refcontext}
\end{minipage}
}
\endgroup
\end{columns}
\end{document}

21
references.bib Normal file
View file

@ -0,0 +1,21 @@
@ARTICLE{Paper1,
AUTHOR = {Clason, Christian and Else, Someone},
DATE = {2018},
JOURNALTITLE = {Journal of Natural Numbers},
KEYWORDS = {own},
NUMBER = {1},
PAGES = {247--276},
TITLE = {On unnatural properties of natural numbers,},
VOLUME = {8},
}
@ARTICLE{Paper2,
AUTHOR = {Clason, Christian and Else, Someone},
DATE = {2018},
EPRINT = {2424.02424},
EPRINTTYPE = {arxiv},
KEYWORDS = {preprint,own},
NOTE = {Submitted to Journal of Unnatural Numbers},
TITLE = {On natural properties of unnatural numbers},
}

805
tikzposter.cls Normal file
View file

@ -0,0 +1,805 @@
%%
%% This is file `tikzposter.cls',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% tikzposter.dtx (with options: `tikzposter.cls')
%%
%% This is a generated file.
%%
%% Copyright (C) 2014 by Pascal Richter, Elena Botoeva, Richard Barnard, and Dirk Surmann
%%
%% adapted 2022 by Christian Clason (patch for microtype compatibility)
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
%% version 2.1 of this license or (at your option) any later
%% version. The latest version of this license is in:
%%
%% http://www.latex-project.org/lppl.txt
%%
%% and version 2.1 or later is part of all distributions of
%% LaTeX version 2014/10/15 or later.
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tikzposter}[2022/03/06 v2.2 LaTeX document class for Posters]
% --------------------------------------- %
% Loading Packages
\RequirePackage{xkeyval}
\RequirePackage{calc}
\RequirePackage{ifthen}
\RequirePackage{ae}
\RequirePackage{xstring}
\RequirePackage{etoolbox}
\RequirePackage{tikz}
\usetikzlibrary{shapes,decorations,shadows,backgrounds,calc,fadings,fit}
\usetikzlibrary{decorations.pathmorphing}
\usepgflibrary{arrows}
% --------------------------------------- %
% Paper parameter
\newif\ifTP@hugefontsize
\newdimen\TP@innermargin
\newdimen\TP@visibletextwidth
\newdimen\TP@visibletextheight
% Title parameter
\newdimen\TP@titlewidth
\newdimen\titlewidth
\newdimen\TP@titlelinewidth
\newdimen\titlelinewidth
\def\titleroundedcorners{}
\newdimen\titleinnersep
\newdimen\TP@titleinnersep
\newdimen\TP@titletotopverticalspace
\newdimen\titletotopverticalspace
\newdimen\TP@titletoblockverticalspace
\newdimen\TP@titleheight
\newdimen\titleheight
\newdimen\titlegraphicheight
\newdimen\titleposleft
\newdimen\titleposright
\newdimen\titlepostop
\newdimen\titleposbottom
\newdimen\TP@titlegraphictotitledistance
\def\TP@titletextscale{1}
\gdef\TP@titlegraphicAlignment{}
\newif\ifTP@titlegraphicTop
% Maketitle parameter
\def\@title{~}
\def\title#1{%
\expandarg\StrCut{#1}{\empty\\}\titleone\titletwo%
\expandarg\StrCut{\titletwo}{\empty\\}\titletwo\titlethree%
\gdef\@title{%
\scalebox{\TP@titletextscale}\titleone%
\expandafter\ifstrempty\expandafter{\titletwo}{}{\par\scalebox{\TP@titletextscale}\titletwo}%
\expandafter\ifstrempty\expandafter{\titlethree}{}{\par\scalebox{\TP@titletextscale}\titlethree}%
}%
}
\def\@author{~}
\def\@institute{~}
\def\@titlegraphic{~}
% Affection parameter
\newif\ifTP@showlatexaffection
% Column parameter
\newif\ifTP@columnEnvironment
\TP@columnEnvironmentfalse
\newif\ifTP@subcolumnEnvironment
\TP@subcolumnEnvironmentfalse
\newdimen\TP@colspace
\newdimen\TP@coltop
\newdimen\TP@colbottom
\newdimen\TP@colcenter
\newdimen\colwidth
% Subcolumn parameter
\newdimen\TP@subcolspace
\newdimen\TP@subcoltop
\newdimen\TP@subcolbottom
\newdimen\TP@subcolcenter
\newdimen\subcolwidth
% Block parameter
\newdimen\TP@blockverticalspace
\newdimen\TP@blockcenter
\newdimen\TP@blocktitleinnersep
\newdimen\blocktitleinnersep
\newdimen\TP@blockbodyinnersep
\newdimen\blockbodyinnersep
\newbox\TP@blocktitlebox
\newbox\TP@blockbodybox
\def\TP@blocktitleAlignment{}
\newif\ifBlockHasTitle
\newdimen\blockwidth
\newdimen\TP@blocktitlewidth
\newdimen\TP@blockbodywidth
\newdimen\TP@blockbodyheight
\newdimen\TP@blocktitleheight
\newdimen\TP@blocktop
\newdimen\TP@blocktitleoffsetx
\newdimen\TP@blocktitleoffsety
\newdimen\TP@blockbodyoffsetx
\newdimen\TP@blockbodyoffsety
\newdimen\TP@blockbodyverticalshift
\def\blockroundedcorners{}
\newdimen\blocklinewidth
\def\TP@blocktitlefont{}
\def\TP@blockbodyfont{}
% Innerblock parameter
\newdimen\TP@innerblockcenter
\newdimen\TP@innerblocktitleinnersep
\newdimen\innerblocktitleinnersep
\newdimen\TP@innerblockbodyinnersep
\newdimen\innerblockbodyinnersep
\newbox\TP@innerblocktitlebox
\newbox\TP@innerblockbodybox
\def\TP@innerblocktitleAlignment{}
\newif\ifInnerblockHasTitle
\newdimen\TP@innerblocktitlewidth
\newdimen\TP@innerblockbodywidth
\newdimen\TP@innerblockbodyheight
\newdimen\TP@innerblocktitleheight
\newdimen\TP@innerblocktitleoffsetx
\newdimen\TP@innerblocktitleoffsety
\newdimen\TP@innerblockbodyoffsetx
\newdimen\TP@innerblockbodyoffsety
\newdimen\TP@innerblockbodyverticalshift
\def\innerblockroundedcorners{}
\newdimen\innerblocklinewidth
% Coloredbox parameter
\newbox\TP@coloredbox
\newdimen\TP@coloredboxwidth
\def\TP@coloredboxroundedcorners{}
\newdimen\TP@coloredboxlinewidth
\newdimen\TP@coloredboxinnersep
\newdimen\TP@coloredboxheight
% Note parameter
\newdimen\TP@noteinnersep
\newdimen\noteinnersep
\newdimen\TP@notetargetoffsetx
\newdimen\TP@notetargetoffsety
\def\TP@noteangle{}
\newdimen\TP@noteradius
\newdimen\TP@notewidth
\newdimen\TP@noteheight
\newif\ifNoteHasConnection
\newbox\TP@notebox
\def\noterotate{}
\def\noteroundedcorners{}
\newdimen\notelinewidth
% --------------------------------------- %
% Declaring options
\DeclareOptionX{12pt}{\TP@hugefontsizefalse \PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{14pt}{\TP@hugefontsizefalse \PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{17pt}{\TP@hugefontsizefalse \PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{20pt}{\TP@hugefontsizefalse \PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{25pt}{\TP@hugefontsizetrue}
\DeclareOptionX{fleqn}{\PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{leqno} {\PassOptionsToClass{\CurrentOption}{extarticle}}
\DeclareOptionX{a0paper}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{a1paper}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{a2paper}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{landscape}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{portrait}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{margin}[20mm]{\PassOptionsToPackage{margin=#1}{geometry}}
\DeclareOptionX{papersize}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{paperheight}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{paperwidth}{\PassOptionsToPackage{\CurrentOption}{geometry}}
\DeclareOptionX{innermargin}{\TP@innermargin=#1}
\DeclareOptionX{colspace}{\TP@colspace=#1}
\DeclareOptionX{subcolspace}{\TP@subcolspace=#1}
\DeclareOptionX{blockverticalspace}{\TP@blockverticalspace=#1}
\DeclareOptionX*{{\PackageWarning{tikzposter}{Unknown Option \CurrentOption.}}}
% Executing options
\ExecuteOptionsX{
25pt,
a0paper,
portrait,
margin=0mm,
innermargin=15mm,
colspace=15mm,
subcolspace=8mm,
blockverticalspace=15mm
}
\ProcessOptionsX \relax
\LoadClass{extarticle}
\RequirePackage{caption}
\RequirePackage{geometry}
\ifTP@hugefontsize
\input{a0size.sty}
\renewcommand{\tiny}{\fontsize{12}{14}\selectfont}
\renewcommand{\scriptsize}{\fontsize{14.4}{18}\selectfont}
\renewcommand{\footnotesize}{\fontsize{17.28}{22}\selectfont}
\renewcommand{\small}{\fontsize{20.74}{25}\selectfont}
\renewcommand{\normalsize}{\fontsize{24.88}{30}\selectfont}
\renewcommand{\large}{\fontsize{29.86}{37}\selectfont}
\renewcommand{\Large}{\fontsize{35.83}{45}\selectfont}
\renewcommand{\LARGE}{\fontsize{43}{54}\selectfont}
\renewcommand{\huge}{\fontsize{51.6}{64}\selectfont}
\renewcommand{\Huge}{\fontsize{61.92}{77}\selectfont}
\fi
\normalsize
\pagestyle{empty}
\setlength{\TP@visibletextwidth}{\textwidth-2\TP@innermargin}
\setlength{\TP@visibletextheight}{\textheight-2\TP@innermargin}
\pgfdeclarelayer{backgroundlayer}
\pgfdeclarelayer{notelayer}
\pgfsetlayers{backgroundlayer,main,notelayer}
% --------------------------------------- %
% Background styles
\gdef\definebackgroundstyle#1#2{\expandafter\gdef\csname TP@backgroundstyle#1\endcsname{#2}}
\gdef\backgroundgraphic#1{\gdef\TP@backgroundgraphic{#1}}\backgroundgraphic{}
\gdef\usebackgroundstyle#1{
\ifcsname TP@backgroundstyle#1\endcsname
\gdef\TP@backgroundstyle{\csname TP@backgroundstyle#1\endcsname} % save macro
\else
\PackageWarning{tikzposter}{Unknown backgroundstyle `#1'.}
\fi
}
% --------------------------------------- %
% Title styles
\gdef\definetitlestyle#1#2#3{
\expandafter\gdef\csname TP@titlestyle#1Defaultvalues\endcsname{\gpresetkeys{title}{#2}{}}
\expandafter\gdef\csname TP@titlestyle#1\endcsname{#3}
}
\define@key{title}{width}{\TP@titlewidth=#1 \titlewidth=#1}
\define@key{title}{roundedcorners}{\gdef\titleroundedcorners{#1}}
\define@key{title}{linewidth}{\TP@titlelinewidth=#1 \titlelinewidth=#1}
\define@key{title}{innersep}{\TP@titleinnersep=#1 \titleinnersep=#1}
\define@key{title}{titletotopverticalspace}{\TP@titletotopverticalspace=#1 \titletotopverticalspace=#1}
\define@key{title}{titletoblockverticalspace}{\TP@titletoblockverticalspace=#1}
\define@key{title}{titlegraphictotitledistance}{\TP@titlegraphictotitledistance=#1}
\define@key{title}{titletextscale}{\gdef\TP@titletextscale{#1}}
\define@boolkey{title}{titlegraphicleft}[true]{\ifKV@title@titlegraphicleft \gdef\TP@titlegraphicAlignment{\raggedright} \fi}
\define@boolkey{title}{titlegraphiccenter}[true]{\ifKV@title@titlegraphiccenter \gdef\TP@titlegraphicAlignment{\centering} \fi}
\define@boolkey{title}{titlegraphicright}[true]{\ifKV@title@titlegraphicright \gdef\TP@titlegraphicAlignment{\raggedleft} \fi}
\define@boolkey{title}{titlegraphictop}[true]{\ifKV@title@titlegraphictop \TP@titlegraphicToptrue \fi}
\define@boolkey{title}{titlegraphicbottom}[true]{\ifKV@title@titlegraphicbottom \TP@titlegraphicTopfalse \fi}
\newcommand\usetitlestyle[2][]{
\ifcsname TP@titlestyle#2\endcsname
\csname TP@titlestyle#2Defaultvalues\endcsname\gpresetkeys{title}{#1}{} % call macro
\gdef\TP@titlestyle{\csname TP@titlestyle#2\endcsname} % save macro
\else
\PackageWarning{tikzposter}{Unknown titlestyle `#2'.}
\fi
}
% --------------------------------------- %
% Title
\gdef\TP@maketitle{
\centering
\vbox{
\ifTP@titlegraphicTop
\TP@titlegraphicAlignment\@titlegraphic
\\[\TP@titlegraphictotitledistance]
\fi
\centering
\color{titlefgcolor}
{\bfseries \Huge \sc {\@title} \par}
\vspace*{1em}
{\huge \@author \par}
\vspace*{1em}
\LARGE \@institute
\ifTP@titlegraphicTop\else
\vspace*{\TP@titlegraphictotitledistance}
\TP@titlegraphicAlignment\@titlegraphic
\fi
}
}
\gdef\institute#1{\gdef\@institute{#1}}
\gdef\titlegraphic#1{\gdef\@titlegraphic{#1}}
\newenvironment{settitle}{
\makeatletter
\renewcommand{\TP@maketitle}
}{
\makeatother
}
\renewcommand\maketitle[1][]{ % #1 keys
\normalsize
\setkeys{title}{#1}
\node[transparent,inner sep=\TP@titleinnersep, line width=\TP@titlelinewidth, anchor=north, minimum width=\TP@visibletextwidth-2\TP@titleinnersep]
(TP@title) at ($(0, 0.5\textheight-\TP@titletotopverticalspace)$) {\parbox{\TP@titlewidth-2\TP@titleinnersep}{\TP@maketitle}};
\draw let \p1 = ($(TP@title.north)-(TP@title.south)$) in node {
\setlength{\TP@titleheight}{\y1}
\setlength{\titleheight}{\y1}
\global\TP@titleheight=\TP@titleheight
\global\titleheight=\titleheight
};
\setlength{\titleposleft}{-0.5\titlewidth}
\setlength{\titleposright}{\titleposleft+\titlewidth}
\setlength{\titlepostop}{0.5\textheight-\TP@titletotopverticalspace}
\setlength{\titleposbottom}{\titlepostop-\titleheight}
\TP@titlestyle
\node[inner sep=\TP@titleinnersep, line width=\TP@titlelinewidth, anchor=north, minimum width=\TP@visibletextwidth-2\TP@titleinnersep]
at (0,0.5\textheight-\TP@titletotopverticalspace) {\parbox{\TP@titlewidth-2\TP@titleinnersep}{\TP@maketitle}};
\normalsize
\setlength{\TP@blocktop}{\titleposbottom-\TP@titletoblockverticalspace}
}
% --------------------------------------- %
% Block styles
\gdef\defineblockstyle#1#2#3{
\expandafter\gdef\csname TP@blockstyle#1Defaultvalues\endcsname{\gpresetkeys{block}{#2}{}}
\expandafter\gdef\csname TP@blockstyle#1\endcsname{#3}
}
\define@key{block}{titlewidthscale}{\setlength{\TP@blocktitlewidth}{#1\TP@blocktitlewidth}}
\define@key{block}{bodywidthscale}{\setlength{\TP@blockbodywidth}{#1\TP@blockbodywidth}}
\define@boolkey{block}{titleleft}[true]{\ifKV@block@titleleft \gdef\TP@blocktitleAlignment{\raggedright} \fi}
\define@boolkey{block}{titlecenter}[true]{\ifKV@block@titlecenter \gdef\TP@blocktitleAlignment{\centering} \fi}
\define@boolkey{block}{titleright}[true]{\ifKV@block@titleright \gdef\TP@blocktitleAlignment{\raggedleft} \fi}
\define@key{block}{titleoffsetx}{\TP@blocktitleoffsetx=#1}
\define@key{block}{titleoffsety}{\TP@blocktitleoffsety=#1}
\define@key{block}{bodyoffsetx}{\TP@blockbodyoffsetx=#1}
\define@key{block}{bodyoffsety}{\TP@blockbodyoffsety=#1}
\define@key{block}{bodyverticalshift}{\TP@blockbodyverticalshift=#1}
\define@key{block}{roundedcorners}{\gdef\blockroundedcorners{#1}}
\define@key{block}{linewidth}{\blocklinewidth=#1}
\define@key{block}{titleinnersep}{\TP@blocktitleinnersep=#1 \blocktitleinnersep=#1}
\define@key{block}{bodyinnersep}{\TP@blockbodyinnersep=#1 \blockbodyinnersep=#1}
\define@key{block}{titlefont}{\gdef\TP@blocktitlefont{#1}}
\define@key{block}{bodyfont}{\gdef\TP@blockbodyfont{#1}}
\newcommand\useblockstyle[2][]{
\ifcsname TP@blockstyle#2\endcsname
\csname TP@blockstyle#2Defaultvalues\endcsname\gpresetkeys{block}{#1}{} % call macro
\gdef\TP@blockstyle{\csname TP@blockstyle#2\endcsname} % save macro
\else
\PackageWarning{tikzposter}{Unknown blockstyle `#2'.}
\fi
}
% --------------------------------------- %
% Block
\newcommand\block[3][]{ % #1 keys #2 title #3 text
\normalsize
\ifTP@subcolumnEnvironment
\TP@blocktitlewidth=\subcolwidth
\TP@blockbodywidth=\subcolwidth
\TP@blockcenter=\TP@subcolcenter
\else
\ifTP@columnEnvironment
\TP@blocktitlewidth=\colwidth
\TP@blockbodywidth=\colwidth
\TP@blockcenter=\TP@colcenter
\else
\setlength\TP@blocktitlewidth{\TP@visibletextwidth}
\setlength\TP@blockbodywidth{\TP@visibletextwidth}
\TP@blockcenter=0pt
\fi
\fi
\setkeys{block}{#1}
\setlength\blockwidth{\TP@blocktitlewidth-\blocklinewidth-2\TP@blockbodyinnersep}
\ifTP@subcolumnEnvironment \else \ifTP@columnEnvironment \else
\setlength\TP@blocktitlewidth{\TP@blocktitlewidth-\blocklinewidth}
\setlength\TP@blockbodywidth{\TP@blockbodywidth-\blocklinewidth}
\TP@blockcenter=0pt
\fi \fi
\ifstrempty{#2}{
\BlockHasTitlefalse
\setlength{\TP@blocktitleheight}{0pt}
}{
\BlockHasTitletrue
\setbox\TP@blocktitlebox=\hbox{%
\pgfinterruptpicture%
\parbox{\TP@blocktitlewidth-2\TP@blocktitleinnersep}{%
\strut\bfseries\LARGE\color{blocktitlefgcolor}\TP@blocktitleAlignment\TP@blocktitlefont#2\par\normalsize}%
\endpgfinterruptpicture%
}%
\setlength{\TP@blocktitleheight}{\ht\TP@blocktitlebox + \dp\TP@blocktitlebox +2\TP@blocktitleinnersep}
}
\setbox\TP@blockbodybox=\hbox{
\pgfinterruptpicture%
\parbox{\TP@blockbodywidth-2\TP@blockbodyinnersep-\TP@blockbodyoffsetx}{%
\vspace*{\TP@blockbodyverticalshift}\large\color{blockbodyfgcolor}\TP@blockbodyfont#3\par\normalsize}%
\endpgfinterruptpicture%
}%
\setlength{\TP@blockbodyheight}{\ht\TP@blockbodybox + \dp\TP@blockbodybox +2\TP@blockbodyinnersep}
\node[minimum width=\TP@blocktitlewidth, minimum height=\TP@blocktitleheight, anchor=center] (blocktitle)%
at (\TP@blockcenter+\TP@blocktitleoffsetx, {\TP@blocktop-0.5\TP@blocktitleheight+\TP@blocktitleoffsety}){};
\ifBlockHasTitle
\node[minimum width=\TP@blockbodywidth, minimum height=\TP@blockbodyheight, anchor=center] (blockbody)%
at (\TP@blockcenter+\TP@blockbodyoffsetx, {\TP@blocktop-\TP@blocktitleheight-0.5\TP@blockbodyheight+\TP@blockbodyoffsety}){};
\else
\node[minimum width=\TP@blockbodywidth, minimum height=\TP@blockbodyheight, anchor=center] (blockbody)%
at (\TP@blockcenter+\TP@blockbodyoffsetx, {\TP@blocktop-\TP@blocktitleheight-0.5\TP@blockbodyheight}){};
\fi
\TP@blockstyle
\ifBlockHasTitle
\node[text width=\TP@blocktitlewidth-2\TP@blocktitleinnersep, inner sep=\TP@blocktitleinnersep, anchor=center]%
at (blocktitle){\box\TP@blocktitlebox};
\fi
\node[text width=\TP@blockbodywidth-2\TP@blockbodyinnersep, inner sep=\TP@blockbodyinnersep, anchor=center]%
at (blockbody){\box\TP@blockbodybox};
\draw let \p1 = (blockbody.south) in node {
\setlength{\TP@blocktop}{\y1-\TP@blockverticalspace}
\global\TP@blocktop=\TP@blocktop
};
\ifTP@subcolumnEnvironment
\setlength{\TP@subcolbottom}{\minof{\TP@subcolbottom}{\TP@blocktop}}
\global\TP@subcolbottom=\TP@subcolbottom
\else
\ifTP@columnEnvironment
\setlength{\TP@colbottom}{\minof{\TP@colbottom}{\TP@blocktop}}
\global\TP@colbottom=\TP@colbottom
\fi
\fi
}
% --------------------------------------- %
% Innerblock styles
\gdef\defineinnerblockstyle#1#2#3{
\expandafter\gdef\csname TP@innerblockstyle#1Defaultvalues\endcsname{\gpresetkeys{innerblock}{#2}{}}
\expandafter\gdef\csname TP@innerblockstyle#1\endcsname{#3}
}
\define@key{innerblock}{titlewidth}{\setlength{\TP@innerblocktitlewidth}{#1}}
\define@key{innerblock}{bodywidth}{\setlength{\TP@innerblockbodywidth}{#1}}
\define@key{innerblock}{titlewidthscale}{\setlength{\TP@innerblocktitlewidth}{#1\TP@innerblocktitlewidth}}
\define@key{innerblock}{bodywidthscale}{\setlength{\TP@innerblockbodywidth}{#1\TP@innerblockbodywidth}}
\define@boolkey{innerblock}{titleleft}[true]{\ifKV@innerblock@titleleft \gdef\TP@innerblocktitleAlignment{\raggedright} \fi}
\define@boolkey{innerblock}{titlecenter}[true]{\ifKV@innerblock@titlecenter \gdef\TP@innerblocktitleAlignment{\centering} \fi}
\define@boolkey{innerblock}{titleright}[true]{\ifKV@innerblock@titleright \gdef\TP@innerblocktitleAlignment{\raggedleft} \fi}
\define@key{innerblock}{titleoffsetx}{\TP@innerblocktitleoffsetx=#1}
\define@key{innerblock}{titleoffsety}{\TP@innerblocktitleoffsety=#1}
\define@key{innerblock}{bodyoffsetx}{\TP@innerblockbodyoffsetx=#1}
\define@key{innerblock}{bodyoffsety}{\TP@innerblockbodyoffsety=#1}
\define@key{innerblock}{bodyverticalshift}{\TP@innerblockbodyverticalshift=#1}
\define@key{innerblock}{roundedcorners}{\gdef\innerblockroundedcorners{#1}}
\define@key{innerblock}{linewidth}{\innerblocklinewidth=#1}
\define@key{innerblock}{titleinnersep}{\TP@innerblocktitleinnersep=#1 \innerblocktitleinnersep=#1}
\define@key{innerblock}{bodyinnersep}{\TP@innerblockbodyinnersep=#1 \innerblockbodyinnersep=#1}
\define@key{innerblock}{titlebgcolor}{\definecolor{innerblocktitlebgcolor}{named}{#1}}
\define@key{innerblock}{titlefgcolor}{\definecolor{innerblocktitlefgcolor}{named}{#1}}
\define@key{innerblock}{bodybgcolor}{\definecolor{innerblockbodybgcolor}{named}{#1}}
\define@key{innerblock}{bodyfgcolor}{\definecolor{innerblockbodyfgcolor}{named}{#1}}
\newcommand\useinnerblockstyle[2][]{
\ifcsname TP@innerblockstyle#2\endcsname
\csname TP@innerblockstyle#2Defaultvalues\endcsname\gpresetkeys{innerblock}{#1}{} % call macro
\gdef\TP@innerblockstyle{\csname TP@innerblockstyle#2\endcsname} % save macro
\else
\PackageWarning{tikzposter}{Unknown innerblockstyle `#2'.}
\fi
}
% --------------------------------------- %
% Innerblock
\newcommand\innerblock[3][]{ % #1 keys #2 title #3 text
\definecolor{innerblocktitlebgcolorTemp}{named}{innerblocktitlebgcolor}
\definecolor{innerblocktitlefgcolorTemp}{named}{innerblocktitlefgcolor}
\definecolor{innerblockbodybgcolorTemp}{named}{innerblockbodybgcolor}
\definecolor{innerblockbodyfgcolorTemp}{named}{innerblockbodyfgcolor}
\setlength{\TP@innerblocktitlewidth}{\linewidth}
\setlength{\TP@innerblockbodywidth}{\linewidth}
\setkeys{innerblock}{#1}
\begin{tikzpicture}
\pgfmathsetlength{\TP@innerblockcenter}{max(\TP@innerblocktitlewidth,\TP@innerblockbodywidth)/2}
\ifstrempty{#2}{
\InnerblockHasTitlefalse
\setlength{\TP@innerblocktitleheight}{0pt}
}{
\InnerblockHasTitletrue
\setbox\TP@innerblocktitlebox=\hbox{%
\pgfinterruptpicture%
\parbox{\TP@innerblocktitlewidth-2\TP@innerblocktitleinnersep}{%
\bfseries\color{innerblocktitlefgcolor}\TP@innerblocktitleAlignment#2\par\normalsize}%
\endpgfinterruptpicture%
}
\setlength{\TP@innerblocktitleheight}{\ht\TP@innerblocktitlebox + \dp\TP@innerblocktitlebox +2\TP@innerblocktitleinnersep}
}
\setbox\TP@innerblockbodybox=\hbox{
\pgfinterruptpicture%
\parbox{\TP@innerblockbodywidth-2\TP@innerblockbodyinnersep-\TP@innerblockbodyoffsetx}{%
\vspace*{\TP@innerblockbodyverticalshift}%
\color{innerblockbodyfgcolor}#3\par\normalsize}%
\endpgfinterruptpicture%
}%
\setlength{\TP@innerblockbodyheight}{\ht\TP@innerblockbodybox + \dp\TP@innerblockbodybox +2\TP@innerblockbodyinnersep}
\node[minimum width=\TP@innerblocktitlewidth, minimum height=\TP@innerblocktitleheight, anchor=center] (innerblocktitle)
at (\TP@innerblockcenter+\TP@innerblocktitleoffsetx, {-0.5\TP@innerblocktitleheight+\TP@innerblocktitleoffsety}) {};%
\ifInnerblockHasTitle
\node[minimum width=\TP@innerblockbodywidth, minimum height=\TP@innerblockbodyheight, anchor=center] (innerblockbody)
at (\TP@innerblockcenter+\TP@innerblockbodyoffsetx, {-\TP@innerblocktitleheight-0.5\TP@innerblockbodyheight+\TP@innerblockbodyoffsety}) {};%
\else
\node[minimum width=\TP@innerblockbodywidth, minimum height=\TP@innerblockbodyheight, anchor=center] (innerblockbody)
at (\TP@innerblockcenter+\TP@innerblockbodyoffsetx, {-\TP@innerblocktitleheight-0.5\TP@innerblockbodyheight}) {};%
\fi
\TP@innerblockstyle
\ifInnerblockHasTitle
\node[text width=\TP@innerblocktitlewidth-2\TP@innerblocktitleinnersep, inner sep=\TP@innerblocktitleinnersep, anchor= center]
at (innerblocktitle) {\box\TP@innerblocktitlebox};%
\fi
\node[text width=\TP@innerblockbodywidth-2\TP@innerblockbodyinnersep, inner sep=\TP@innerblockbodyinnersep, anchor= center]
at (innerblockbody) {\box\TP@innerblockbodybox};%
\end{tikzpicture}
\definecolor{innerblocktitlebgcolor}{named}{innerblocktitlebgcolorTemp}
\definecolor{innerblocktitlefgcolor}{named}{innerblocktitlefgcolorTemp}
\definecolor{innerblockbodybgcolor}{named}{innerblockbodybgcolorTemp}
\definecolor{innerblockbodyfgcolor}{named}{innerblockbodyfgcolorTemp}
}
% --------------------------------------- %
% Coloredbox
\define@key{coloredbox}{width}{\setlength{\TP@coloredboxwidth}{#1}}
\define@key{coloredbox}{roundedcorners}{\gdef\TP@coloredboxroundedcorners{#1}}
\define@key{coloredbox}{linewidth}{\TP@coloredboxlinewidth=#1}
\define@key{coloredbox}{innersep}{\TP@coloredboxinnersep=#1}
\define@key{coloredbox}{bgcolor}{\definecolor{coloredboxbgcolorTemp}{named}{#1}}
\define@key{coloredbox}{fgcolor}{\definecolor{coloredboxfgcolorTemp}{named}{#1}}
\define@key{coloredbox}{framecolor}{\definecolor{coloredboxframecolorTemp}{named}{#1}}
\newcommand\coloredbox[2][]{ % #1 keys #2 text
\setlength{\TP@coloredboxwidth}{\TP@blocktitlewidth-4\TP@blocktitleinnersep}
\setkeys{coloredbox}{%
width={\linewidth}, roundedcorners=15, linewidth=3.5pt, innersep=10pt,
bgcolor=notebgcolor, fgcolor=notefgcolor, framecolor=notebgcolor, #1}
\begin{tikzpicture}
\setbox\TP@coloredbox=\hbox{
\pgfinterruptpicture%
\parbox{\TP@coloredboxwidth-2\TP@coloredboxinnersep}{%
\color{coloredboxfgcolorTemp}#2\par\normalsize}%
\endpgfinterruptpicture%
}%
\setlength{\TP@coloredboxheight}{\ht\TP@coloredbox + \dp\TP@coloredbox +2\TP@coloredboxinnersep}
\node[minimum width=\TP@coloredboxwidth, minimum height=\TP@coloredboxheight, anchor=center] (coloredbox)
at (0.5\TP@coloredboxwidth, -0.5\TP@coloredboxheight) {};%
\begin{scope}[line width=\TP@coloredboxlinewidth, rounded corners=\TP@coloredboxroundedcorners]
\draw[color=coloredboxframecolorTemp, fill=coloredboxbgcolorTemp] (coloredbox.south west) rectangle (coloredbox.north east);
\end{scope}
\node[text width=\TP@coloredboxwidth-2\TP@coloredboxinnersep, inner sep=\TP@coloredboxinnersep, anchor= center]
at (coloredbox) {\box\TP@coloredbox};%
\end{tikzpicture}
\definecolor{coloredboxbgcolor}{named}{coloredboxbgcolorTemp}
\definecolor{coloredboxfgcolor}{named}{coloredboxfgcolorTemp}
}
% --------------------------------------- %
% Note styles
\gdef\definenotestyle#1#2#3{
\expandafter\gdef\csname TP@notestyle#1Defaultvalues\endcsname{\gpresetkeys{note}{#2}{}}
\expandafter\gdef\csname TP@notestyle#1\endcsname{#3}
}
\define@key{note}{targetoffsetx}{\TP@notetargetoffsetx=#1}
\define@key{note}{targetoffsety}{\TP@notetargetoffsety=#1}
\define@key{note}{angle}{\def\TP@noteangle{#1}}
\define@key{note}{radius}{\TP@noteradius=#1}
\define@key{note}{width}{\TP@notewidth=#1}
\define@boolkey{note}{connection}[true]{\NoteHasConnectiontrue \ifKV@note@connection \NoteHasConnectiontrue \else \NoteHasConnectionfalse \fi}
\define@key{note}{rotate}{\gdef\noterotate{#1}}
\define@key{note}{roundedcorners}{\gdef\noteroundedcorners{#1}}
\define@key{note}{linewidth}{\notelinewidth=#1}
\define@key{note}{innersep}{\TP@noteinnersep=#1 \noteinnersep=#1}
\newcommand\usenotestyle[2][]{
\ifcsname TP@notestyle#2\endcsname
\csname TP@notestyle#2Defaultvalues\endcsname\gpresetkeys{note}{#1}{} % call macro
\gdef\TP@notestyle{\csname TP@notestyle#2\endcsname} % save macro
\else
\PackageWarning{tikzposter}{Unknown notestyle `#2'.}
\fi
}
% --------------------------------------- %
% Note
\newcommand\note[2][]{ % #1 keys #2 text
\normalsize
\setkeys{note}{#1}
\setbox\TP@notebox=\hbox{%
\pgfinterruptpicture%
\parbox{\TP@notewidth-2\TP@noteinnersep}{\color{notefgcolor}#2\par\normalsize}%
\endpgfinterruptpicture%
}%
\setlength{\TP@noteheight}{\ht\TP@notebox + \dp\TP@notebox +2\TP@noteinnersep}
\pgfmathsetlength{\TP@noteheight}{max(\TP@noteheight,80pt)}
\node (notetarget) at ($(blockbody)+(\TP@notetargetoffsetx,\TP@notetargetoffsety)$){};
\node[minimum width=\TP@notewidth, minimum height=\TP@noteheight, anchor=center,rotate=\noterotate] (notecenter)
at ($(notetarget)+({\TP@noteradius*cos(\TP@noteangle)},{\TP@noteradius*sin(\TP@noteangle)})$){};%
\begin{pgfonlayer}{notelayer}
\TP@notestyle
\node[text width=\TP@notewidth-2\TP@noteinnersep, inner sep=\TP@noteinnersep, anchor=center,rotate=\noterotate]%
at (notecenter){\box\TP@notebox};
\end{pgfonlayer}
}
% --------------------------------------- %
% Color palette
\gdef\definecolorpalette#1#2{\expandafter\gdef\csname TP@colorpalette#1\endcsname{#2}}
\gdef\usecolorpalette#1{
\ifcsname TP@colorpalette#1\endcsname
\csname TP@colorpalette#1\endcsname % call macro
\else
\PackageWarning{tikzposter}{Unknown color palette `#1'.}
\fi
}
% --------------------------------------- %
% Color style
\gdef\definecolorstyle#1#2#3{
\expandafter\gdef\csname TP@colorstyle#1Defaultvalues\endcsname{#2}
\expandafter\gdef\csname TP@colorstyle#1\endcsname{#3}
}
\define@key{colors}{colorOne}{\colorlet{colorOne}{#1}}
\define@key{colors}{colorTwo}{\colorlet{colorTwo}{#1}}
\define@key{colors}{colorThree}{\colorlet{colorThree}{#1}}
\define@key{colors}{colorPalette}{\usecolorpalette{#1}}
\newcommand\usecolorstyle[2][]{ % #1 keys #2 macroname
\ifcsname TP@colorstyle#2\endcsname
\csname TP@colorstyle#2Defaultvalues\endcsname % call macro
\setkeys{colors}{#1} % set keys
\csname TP@colorstyle#2\endcsname % call macro
\else
\PackageWarning{tikzposter}{Unknown color style `#2'.}
\fi
}
% --------------------------------------- %
% Layouttheme
\gdef\definelayouttheme#1#2{\expandafter\gdef\csname TP@layouttheme#1\endcsname{#2}}
\gdef\usetheme#1{
\ifcsname TP@layouttheme#1\endcsname
\csname TP@layouttheme#1\endcsname % call macro
\else
\PackageWarning{tikzposter}{Unknown layouttheme `#1'.}
\fi
}
% --------------------------------------- %
% Columns environment
\newenvironment{columns}{
\TP@columnEnvironmenttrue
\setlength{\TP@colcenter}{-0.5\TP@visibletextwidth-\TP@colspace-0.5\blocklinewidth}
\global\TP@colcenter=\TP@colcenter
\global\TP@coltop=\TP@blocktop
\global\TP@colbottom=\TP@blocktop
\colwidth=0pt
}{
\TP@columnEnvironmentfalse
\global\TP@blocktop=\TP@colbottom
}
% Column
\gdef\column#1{ % #1: relative width
\ifTP@columnEnvironment
\normalsize
\setlength{\TP@blocktop}{\TP@coltop}
\setlength{\TP@colcenter}{\TP@colcenter+0.5\colwidth+\TP@colspace}
\setlength{\colwidth}{#1\TP@visibletextwidth+#1\TP@colspace-\TP@colspace-\blocklinewidth}
\setlength{\TP@colcenter}{\TP@colcenter+0.5\colwidth+\blocklinewidth}
\fi
}
% --------------------------------------- %
% Subcolumns environment
\newenvironment{subcolumns}{
\ifTP@columnEnvironment
\TP@subcolumnEnvironmenttrue
\setlength{\TP@subcolcenter}{\TP@colcenter-0.5\colwidth-\TP@blockbodyinnersep-\TP@subcolspace-\TP@blockbodyinnersep}
\global\TP@subcolcenter=\TP@subcolcenter
\global\TP@subcoltop=\TP@blocktop
\global\TP@subcolbottom=\TP@blocktop
\subcolwidth=0pt
\fi
}{
\TP@subcolumnEnvironmentfalse
\global\TP@blocktop=\TP@subcolbottom
}
% Subcolumn
\gdef\subcolumn#1{ % #1: relative width
\ifTP@subcolumnEnvironment
\normalsize
\setlength{\TP@blocktop}{\TP@subcoltop}
\setlength{\TP@subcolcenter}{\TP@subcolcenter+0.5\subcolwidth+\TP@blockbodyinnersep+\TP@subcolspace+\TP@blockbodyinnersep}
\setlength{\subcolwidth}{#1\colwidth+#1\TP@blockbodyinnersep+#1\TP@blockbodyinnersep
+#1\TP@subcolspace-\TP@subcolspace-2\TP@blockbodyinnersep}
\setlength{\TP@subcolcenter}{\TP@subcolcenter+0.5\subcolwidth}
\fi
}
% --------------------------------------- %
% Affection
\gdef\tikzposterlatexaffectionproofon{\TP@showlatexaffectiontrue}
\gdef\tikzposterlatexaffectionproofoff{\TP@showlatexaffectionfalse}
\TP@showlatexaffectiontrue
% --------------------------------------- %
% Document environment
\AfterEndPreamble{%
\settototalheight{\titlegraphicheight}{\hbox{\@titlegraphic}}
\TP@titlegraphicToptrue
\noindent%
\begin{tikzpicture}
\coordinate (topright) at (0.5\textwidth, 0.5\textheight);
\coordinate (bottomleft) at (-0.5\textwidth, -0.5\textheight);
\clip (bottomleft) rectangle (topright);
\begin{pgfonlayer}{backgroundlayer}
\clip (bottomleft) rectangle (topright);
\TP@backgroundstyle
\ifTP@showlatexaffection
\node[inner sep=4pt, anchor=south east, fill=white, draw=none, rounded corners=5, fill opacity=0.3, text opacity=1]
at (0.5\textwidth-7pt, -0.5\textheight+7pt){\footnotesize {\bfseries\textrm\LaTeX}~\textrm{Ti\emph{k}Z}\bfseries\textrm{poster}};
\fi
\end{pgfonlayer}
}
\AtEndDocument{%
\end{tikzpicture}
}
% --------------------------------------- %
% Caption
\newenvironment{tikzfigure}[1][]{
\def \rememberparameter{#1}
\addvspace{\medskipamount}
\begin{center}
}{
\ifx\rememberparameter\@empty
% Nothing
\else
\\[10pt]
\captionof{figure}{\rememberparameter}
\fi
\end{center}
\addvspace{\medskipamount}
}
%%
\endinput
%%
%% End of file `tikzposter.cls'.