summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/tikzposter
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-10-24 23:26:56 +0000
committerKarl Berry <karl@freefriends.org>2012-10-24 23:26:56 +0000
commit26a54db94560dd44a149728ce558d1882d9f6beb (patch)
treea046dc146764e8fe388170e29a8371695f5da5f4 /Master/texmf-dist/tex/latex/tikzposter
parenta9ba2a0633d4ead6ecf5ad4ba56e5dc3e386fc5b (diff)
new package tikzposter (24oct12)
git-svn-id: svn://tug.org/texlive/trunk@28066 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/tikzposter')
-rw-r--r--Master/texmf-dist/tex/latex/tikzposter/tikzposter.cls454
1 files changed, 454 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/tikzposter/tikzposter.cls b/Master/texmf-dist/tex/latex/tikzposter/tikzposter.cls
new file mode 100644
index 00000000000..8fa0780fe31
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tikzposter/tikzposter.cls
@@ -0,0 +1,454 @@
+%%
+%% 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) 2012 by Pascal Richter and Richard Barnard
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.2 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 1.2 or later is part of all distributions of
+%% LaTeX version 2012/09/01 or later.
+%%
+
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{tikzposter}[2012/09/01 v1.0 LaTeX document class for Posters]
+
+ % Loading Packages
+\usepackage{xkeyval}
+\usepackage{calc}
+\usepackage{ifthen}
+\usepackage{ae}
+\usepackage{xstring}
+\usepackage{etoolbox}
+\usepackage{tikz}
+ \usetikzlibrary{shapes,decorations,shadows,backgrounds,calc,fadings}
+ \usepgflibrary{arrows}
+
+ % Parameter
+\def\@institute{~}
+\newif\ifTP@showlatexaffectionproof
+\newdimen\TP@innermargin
+\newdimen\TP@visibletextwidth
+\newdimen\TP@visibletextheight
+\newif\ifTP@IsBlockWithTitle
+\newif\ifTP@hugefontsize
+ % Title parameter
+\newdimen\TP@titleinnersep
+\newdimen\TP@titletoblockverticalspace
+\newdimen\TP@titlewidth
+\def\TP@titleleftfig{}
+\def\TP@titlerightfig{}
+\newdimen\TP@titleleftfigheight{}
+\newdimen\TP@titlerightfigheight{}
+\newdimen\TP@titleleftfigwidth{}
+\newdimen\TP@titlerightfigwidth{}
+\newif\ifTP@titleHasLeftFig
+\newif\ifTP@titleHasRightFig
+\newif\ifTP@titleIsEmbedded
+\newif\ifTP@titleIsSeparated
+ % Block parameter
+\newdimen\TP@blockverticalspace
+\newdimen\TP@blocktop
+\newdimen\TP@blockbottom
+\newdimen\TP@blockcenter
+\newdimen\TP@blockwidth
+\newif\ifTP@blockHasVariableWidth
+\newdimen\TP@blockbodyinnersep
+\newbox\TP@blocktitlebox
+\newdimen\TP@blocktitleinnersep
+\newdimen\TP@blocktitleheight
+\newdimen\TP@blocktitletobodydist
+\def\TP@blocktitleratio{}
+\newdimen\TP@blocktitlewidth
+\newdimen\TP@blocktitlemaxwidth
+\newif\ifTP@blocktitleLeft
+\newif\ifTP@blocktitleCenter
+\newif\ifTP@blocktitleRight
+ % Column parameter
+\newif\ifTP@columnEnvironment
+\newif\ifTP@subcolumnEnvironment
+\newdimen\TP@colspace
+\newdimen\TP@coltop
+\newdimen\TP@colbottom
+\newdimen\TP@colcenter
+\newdimen\colwidth
+\newdimen\TP@subcolspace
+\newdimen\TP@subcoltop
+\newdimen\TP@subcolbottom
+\newdimen\TP@subcolcenter
+\newdimen\subcolwidth
+
+ % 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{innermargin}{\TP@innermargin=#1}
+\DeclareOptionX{titleinnersep}{\TP@titleinnersep=#1}
+\DeclareOptionX{titletoblockverticalspace}{\TP@titletoblockverticalspace=#1}
+\DeclareOptionX{blocktitleinnersep}{\TP@blocktitleinnersep=#1}
+\DeclareOptionX{blocktitlewidthratio}{\def\TP@blocktitleratio{#1}}
+\DeclareOptionX{blocktitlemaxwidth}{\TP@blocktitlemaxwidth=#1}
+\DeclareOptionX{blockbodyinnersep}{\TP@blockbodyinnersep=#1}
+\DeclareOptionX{blockverticalspace}{\TP@blockverticalspace=#1}
+\DeclareOptionX{colspace}{\TP@colspace=#1}
+\DeclareOptionX{subcolspace}{\TP@subcolspace=#1}
+\DeclareOptionX*{{\PackageWarning{tikzposter}{Unknown Option \CurrentOption.}}}
+
+ % Executing options
+\ExecuteOptionsX{
+ 25pt,
+ a0paper,
+ portrait,
+ margin=20mm,
+ innermargin=15mm,
+ titleinnersep=8mm,
+ titletoblockverticalspace=20mm,
+ blocktitleinnersep=8mm,
+ blocktitlewidthratio=0.8,
+ blocktitlemaxwidth=25cm,
+ blockbodyinnersep=8mm,
+ blockverticalspace=15mm,
+ colspace=15mm,
+ subcolspace=8mm
+}
+\ProcessOptionsX \relax
+\LoadClass{extarticle}
+\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}
+
+ % Color themes
+\input{./tikzposter-colorthemes}
+\gdef\usecolortheme#1{
+ \ifcsname TP@colortheme#1\endcsname
+ \csname TP@colortheme#1\endcsname % call macro
+ \else
+ \IfFileExists{#1.tex}{
+ \input{#1.tex} % load tex file
+ }{ \PackageWarning{tikzposter}{Unknown colortheme `#1'.} }
+ \fi
+}
+
+ % TikZ layout styles
+\input{./tikzposter-layoutstyles}
+\tikzstyle{TP@tikzstylebackground} = [inner sep=0pt, line width=0pt, color=framecolor, shading=axis,
+ top color=backgroundcolortop, bottom color=backgroundcolorbottom, middle color=backgroundcolormiddle]
+
+ % Macro to set TikZ layout style
+\gdef\settitlebodystyle#1{
+ \pgfkeys@ifcsname pgfk@/tikz/TP@tikzstyle#1/.@cmd\endcsname
+ \tikzstyle{TP@tikzstyletitlebody}=[TP@tikzstyle#1]
+ \else
+ \tikzstyle{TP@tikzstyletitlebody}=[#1]
+ \fi
+}
+\gdef\setblocktitlestyle#1{
+ \pgfkeys@ifcsname pgfk@/tikz/TP@tikzstyle#1/.@cmd\endcsname
+ \tikzstyle{TP@tikzstyleblocktitle}=[TP@tikzstyle#1]
+ \else
+ \tikzstyle{TP@tikzstyleblocktitle}=[#1]
+ \fi
+}
+\gdef\setblockbodystyle#1{
+ \pgfkeys@ifcsname pgfk@/tikz/TP@tikzstyle#1/.@cmd\endcsname
+ \tikzstyle{TP@tikzstyleblockbody}=[TP@tikzstyle#1]
+ \else
+ \tikzstyle{TP@tikzstyleblockbody}=[#1]
+ \fi
+}
+
+ % Title layout
+\gdef\institute#1{\gdef\@institute{#1}}
+\gdef\tikzposterlatexaffectionproofon{\TP@showlatexaffectionprooftrue}
+\gdef\tikzposterlatexaffectionproofoff{\TP@showlatexaffectionprooffalse}
+\gdef\maketitle{
+ \vbox{
+ \centering
+ \color{titlefgcolor}
+ {\bfseries \Huge \sc \@title}
+ \\[1em] {\huge \@author}
+ \\[1em] {\LARGE \@institute}
+ } \normalsize
+}
+
+ % Default document settings
+\TP@colorthemedefault
+\TP@showlatexaffectionprooftrue
+\settitlebodystyle{rounded}
+\setblocktitlestyle{rounded}
+\setblockbodystyle{rounded}
+
+ % Document environment
+\AtBeginDocument{%
+ \begin{center}
+ \begin{tikzpicture}
+ \shadedraw[TP@tikzstylebackground] (-0.5\textwidth, -0.5\textheight) rectangle (0.5\textwidth, 0.5\textheight);
+}
+
+\AtEndDocument{%
+ \ifTP@showlatexaffectionproof
+ \node[anchor=south east] at (0.5\textwidth, -0.5\textheight){\footnotesize \LaTeX~TikZposter class};
+ \fi
+ \end{tikzpicture}
+ \end{center}
+}
+
+ % Columns environment
+\newenvironment{columns}{
+ \TP@columnEnvironmenttrue
+ \setlength{\TP@colcenter}{-0.5\TP@visibletextwidth-\TP@colspace-\TP@blockbodyinnersep}
+ \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@blockbodyinnersep+\TP@colspace+\TP@blockbodyinnersep}
+ \setlength{\colwidth}{#1\TP@visibletextwidth+#1\TP@colspace-\TP@colspace-2\TP@blockbodyinnersep}
+ \setlength{\TP@colcenter}{\TP@colcenter+0.5\colwidth}
+ \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
+}
+
+\define@key{titleblock}{left fig}{\IfFileExists{#1}{ \TP@titleHasLeftFigtrue \def\TP@titleleftfig{#1}}{\TP@titleHasLeftFigfalse}}
+\define@key{titleblock}{left fig height}{\setlength\TP@titleleftfigheight{#1}}
+\define@key{titleblock}{right fig}{\IfFileExists{#1}{ \TP@titleHasRightFigtrue \def\TP@titlerightfig{#1}}{\TP@titleHasRightFigfalse}}
+\define@key{titleblock}{right fig height}{\setlength\TP@titlerightfigheight{#1}}
+\define@boolkey{titleblock}{embedded}[true]{\ifKV@titleblock@embedded \TP@titleIsEmbeddedtrue \else \TP@titleIsEmbeddedfalse \fi}
+\define@boolkey{titleblock}{separated}[true]{\ifKV@titleblock@separated \TP@titleIsSeparatedtrue \else \TP@titleIsSeparatedfalse \fi}
+\presetkeys{titleblock}{left fig=, left fig height=10em, right fig=, right fig height=10em, embedded=false, separated=false}{}
+
+\newcommand\titleblock[1][]{
+ \normalsize
+ \setkeys{titleblock}{#1} % #1: keys
+ % Set title width
+ \ifTP@titleIsEmbedded
+ \setlength\TP@titlewidth{\textwidth-2\TP@titleinnersep}
+ \else
+ \setlength\TP@titlewidth{\TP@visibletextwidth-2\TP@titleinnersep}
+ % Draw non-embedded background
+ \shadedraw [TP@tikzstylebackground] (-0.5\textwidth, -0.5\textheight) rectangle (0.5\textwidth, 0.5\textheight);
+ \fi
+ % Set left figure width
+ \ifTP@titleHasLeftFig
+ \settowidth{\TP@titleleftfigwidth}{\includegraphics[height=\TP@titleleftfigheight]{\TP@titleleftfig}}
+ \else
+ \TP@titleleftfigwidth=0pt
+ \fi
+ % Set right figure width
+ \ifTP@titleHasRightFig
+ \settowidth{\TP@titlerightfigwidth}{\includegraphics[height=\TP@titlerightfigheight]{\TP@titlerightfig}}
+ \else
+ \TP@titlerightfigwidth=0pt
+ \fi
+ % Title node
+ \ifthenelse{\boolean{TP@titleIsEmbedded}}{
+ \node[draw, inner sep=\TP@titleinnersep, line width=0pt, anchor=north, color=framecolor,
+ minimum width=\TP@visibletextwidth-2\TP@titleinnersep, shading=axis,
+ top color=embeddedtitlebgcolortop, bottom color=embeddedtitlebgcolorbottom]
+ (title) at (0, 0.5\textheight)
+ }{
+ \node[TP@tikzstyletitlebody, inner sep=\TP@titleinnersep, anchor=north, color=framecolor,
+ shading=axis, top color=titlebgcolortop, bottom color=titlebgcolorbottom]
+ (title) at (0, 0.5\TP@visibletextheight)
+ }
+ % Content of the node
+ {
+ \begin{minipage}{\TP@titlewidth}
+ % Left logo
+ \ifTP@titleHasLeftFig
+ \begin{minipage}{\TP@titleleftfigwidth}
+ \includegraphics[height=\TP@titleleftfigheight]{\TP@titleleftfig}
+ \end{minipage}%
+ \fi
+ % Make non-separated title
+ \begin{minipage}{\TP@titlewidth-\TP@titleleftfigwidth-\TP@titlerightfigwidth}
+ \centering \ifTP@titleIsSeparated ~ \else \maketitle \fi
+ \end{minipage}%
+ % Right logo
+ \ifTP@titleHasRightFig
+ \begin{minipage}{\TP@titlerightfigwidth}
+ \includegraphics[height=\TP@titlerightfigheight]{\TP@titlerightfig}
+ \end{minipage}%
+ \fi
+ \end{minipage}%
+ };
+ % Draw embedded background
+ \ifTP@titleIsEmbedded
+ \draw let \p1 = (title.south) in node {\global\TP@blockbottom=\y1};
+ \shadedraw [TP@tikzstylebackground] (-0.5\textwidth, -0.5\textheight) rectangle (0.5\textwidth, \TP@blockbottom);
+ \fi
+ % Make separated title
+ \ifTP@titleIsSeparated
+ \node[anchor=north] (title) at ($(title.south)-(0em,2em)$){
+ \begin{minipage}{\TP@visibletextwidth}
+ \maketitle
+ \end{minipage}};%
+ \fi
+ % Set parameter
+ \draw let \p1 = (title.south) in node {
+ \setlength{\TP@blocktop}{\y1-\TP@titletoblockverticalspace}
+ \global\TP@blocktop=\TP@blocktop
+ };
+}
+
+ % Block
+\define@boolkey{block}{l}[true]{\ifKV@block@l \TP@blocktitleLefttrue \TP@blocktitleCenterfalse \TP@blocktitleRightfalse \fi}
+\define@boolkey{block}{c}[true]{\ifKV@block@c \TP@blocktitleLeftfalse \TP@blocktitleCentertrue \TP@blocktitleRightfalse \fi}
+\define@boolkey{block}{r}[true]{\ifKV@block@r \TP@blocktitleLeftfalse \TP@blocktitleCenterfalse \TP@blocktitleRighttrue \fi}
+\define@key{block}{width}{\TP@blockHasVariableWidthtrue \setlength{\TP@blockwidth}{#1}}
+\presetkeys{block}{}{}
+
+\newcommand\block[3][]{ % #1 keys #2 title #3 text
+ % Reset parameter
+ \normalsize
+ \TP@blockHasVariableWidthfalse
+ \TP@blocktitleLeftfalse
+ \TP@blocktitleCentertrue
+ \TP@blocktitleRightfalse
+ % Set block width and center
+ \ifTP@subcolumnEnvironment
+ \TP@blockwidth=\subcolwidth
+ \TP@blockcenter=\TP@subcolcenter
+ \else
+ \ifTP@columnEnvironment
+ \TP@blockwidth=\colwidth
+ \TP@blockcenter=\TP@colcenter
+ \else
+ \setlength\TP@blockwidth{\TP@visibletextwidth-2\TP@blockbodyinnersep}
+ \TP@blockcenter=0pt
+ \fi
+ \fi
+ % Set block width and title alignment
+ \setkeys{block}{#1}
+ % Check if block title is given and set height of title
+ \ifstrempty{#2}{
+ \TP@IsBlockWithTitlefalse
+ \setlength{\TP@blocktitleheight}{0pt}
+ }{
+ \TP@IsBlockWithTitletrue
+ \setlength\TP@blocktitlewidth{\minof{\TP@blockwidth*\real{\TP@blocktitleratio}}{\TP@blocktitlemaxwidth}}
+ \setbox\TP@blocktitlebox=\hbox{
+ \pgfinterruptpicture
+ \parbox{\TP@blocktitlewidth}{ \bf \LARGE \centering #2}
+ \endpgfinterruptpicture}
+ \TP@blocktitleheight=\ht\TP@blocktitlebox
+ \advance\TP@blocktitleheight by \dp\TP@blocktitlebox
+ \addtolength{\TP@blocktitleheight}{2\TP@blocktitleinnersep}
+ }
+ % Block body
+ \node[TP@tikzstyleblockbody, text width=\TP@blockwidth, inner sep=\TP@blockbodyinnersep, anchor=north,
+ color=framecolor, fill=blockbodybgcolor] (block)
+ at (\TP@blockcenter, \TP@blocktop-0.5\TP@blocktitleheight)%
+ {
+ \setlength{\TP@blocktitletobodydist}{0.5\TP@blocktitleheight}
+ \vskip\TP@blocktitletobodydist
+ {\large \color{blockbodyfgcolor}#3}
+ \normalsize
+ };
+ % Block title (if it is given)
+ \ifTP@IsBlockWithTitle
+ % Set title alignment
+ \ifTP@blocktitleLeft
+ \node[TP@tikzstyleblocktitle, inner sep=\TP@blocktitleinnersep, color=framecolor, fill=blocktitlebgcolor, text=blocktitlefgcolor]
+ at ($(block.north)+(-\TP@blockwidth/2+\TP@blocktitlewidth/2+2em,0)$) {\box\TP@blocktitlebox \normalsize};
+ \fi
+ \ifTP@blocktitleCenter
+ \node[TP@tikzstyleblocktitle, inner sep=\TP@blocktitleinnersep, color=framecolor, fill=blocktitlebgcolor, text=blocktitlefgcolor]
+ at (block.north) {\box\TP@blocktitlebox \normalsize};
+ \fi
+ \ifTP@blocktitleRight
+ \node[TP@tikzstyleblocktitle, inner sep=\TP@blocktitleinnersep, color=framecolor, fill=blocktitlebgcolor, text=blocktitlefgcolor]
+ at ($(block.north)+(\TP@blockwidth/2-\TP@blocktitlewidth/2-2em,0)$) {\box\TP@blocktitlebox \normalsize};
+ \fi
+ \fi
+ % Set parameter
+ \draw let \p1 = (block.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
+}
+\endinput
+%%
+%% End of file `tikzposter.cls'.