Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Elena Botoeva has written a package with 5 templates for posters, called fancytikzposter, consisting of a unique TikZ picture. Her class had some success (see here)

I am looking for a way to improve the poster template by decomposing it in independent LaTeX blocks instead of a unique TikZ picture. The aim is to take the advantage of the flexibility of LaTeX (for example, use the multicols environment, instead of complicated TikZ code).

A very good work has been done here by Gonzalo Medina to reproduce in an elegant way the same blocks as in template 4.

The two two remaining steps are to find a way to have a nice frame around the title (ideally as template 4). So if you have any suggestion for the template structure or for the title, fell free to make corrections/suggestions.!

Sample posters

Here is how it looks now : poster and the code is

\documentclass{sciposter}
\usepackage{amsmath,amssymb,multicol,amsrefs}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{shadows,calc}
\usepackage{tcolorbox}
\tcbuselibrary{skins,theorems,breakable}
\usepackage{pgfplots}
\pgfplotsset{compat=1.4}
\definecolor{myblue}{RGB}{40,96,139}

\tcbset{
mybox/.style={
  breakable,
  freelance,
  boxrule=0.4pt,
  width=\linewidth,
  frame code={%
  \path[draw=black,rounded corners,fill=white,drop shadow]
    (frame.south west) rectangle (frame.north east);
  },
  title code={
  \path[top color=myblue!30,bottom color=myblue!0.5,rounded corners,draw=none]
    ([xshift=\pgflinewidth,yshift=-\pgflinewidth]frame.north west) rectangle ([xshift=-\pgflinewidth]frame.south east|-title.south east);
  \path[fill=myblue]
  ([xshift=5pt,yshift=-\pgflinewidth]frame.north west) to[out=0,in=180] ([xshift=50pt,yshift=-5pt]title.south west) -- ([xshift=-50pt,yshift=-5pt]title.south east) to[out=0,in=180] ([xshift=-5pt,yshift=-\pgflinewidth]frame.north east) -- cycle;
  },
  fonttitle=\Large\bfseries\sffamily,
  fontupper=\sffamily,
  fontlower=\sffamily,
  before=\par\medskip,
  after=\par\medskip,
  center title,
  toptitle=3pt,
  top=11pt,
  colback=white
}}
\newtcolorbox{block}[2][\linewidth]{mybox,width=#1,title=#2}


\title{Title}
\author{Author}
\institute{Institute}
\email{email}

%\leftlogo[1.5]{epfl}
\conference{Math project}



\begin{document}
\pagecolor{blue!10!white}
\maketitle

\begin{multicols}{3}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[3]
\end{block}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[4]
\end{block}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[3]
\end{block}
\begin{block}{Title of a block}
\lipsum[4]
\end{block}
\begin{block}{Title of a block}
\lipsum[1]
\end{block}

\begin{block}{Title of a block}
\lipsum[5]
\end{block}

\end{multicols}

\begin{bibdiv}
\begin{biblist}
\bib{xx}{book}{author={Nom}}
\end{biblist}
\end{bibdiv}
\end{document}
share|improve this question
add comment

3 Answers

up vote 6 down vote accepted

Here's one initial version:

\documentclass{article}
\usepackage[paperwidth=30cm,paperheight=45cm,bmargin=2cm,lmargin=2cm,rmargin=2cm]{geometry}
\usepackage{array}
\usepackage{url}
\usepackage{tikz}
\usepackage{xcolor}
\usepackage{lmodern}
\usepackage{multicol}
\usepackage{lipsum}
\usepackage{tcolorbox}

\usetikzlibrary{shadows,calc}
\tcbuselibrary{skins,theorems,breakable}

\definecolor{myblue}{RGB}{40,96,139}

\tcbset{
mybox/.style={
  breakable,
  freelance,
  boxrule=0.4pt,
  width=\linewidth,
  frame code={%
  \path[draw=black,rounded corners,fill=white,drop shadow]
    (frame.south west) rectangle (frame.north east);
  },
  title code={
  \path[top color=myblue!30,bottom color=myblue!0.5,rounded corners,draw=none]
    ([xshift=\pgflinewidth,yshift=-\pgflinewidth]frame.north west) rectangle ([xshift=-\pgflinewidth]frame.south east|-title.south east);
  \path[fill=myblue]
  ([xshift=5pt,yshift=-\pgflinewidth]frame.north west) to[out=0,in=180] ([xshift=50pt,yshift=-5pt]title.south west) -- ([xshift=-50pt,yshift=-5pt]title.south east) to[out=0,in=180] ([xshift=-5pt,yshift=-\pgflinewidth]frame.north east) -- cycle;
  },
  fonttitle=\Large\bfseries\sffamily,
  fontupper=\sffamily,
  fontlower=\sffamily,
  before=\par\medskip\noindent,
  after=\par\medskip,
  center title,
  toptitle=3pt,
  top=11pt,
  colback=white
}}

\newtcolorbox{block}[2][\linewidth]{mybox,width=#1,title=#2}

\makeatletter
\newlength\TitleHt

\newcommand\InsertTitle[1]{\gdef\@InsertTitle{#1}}
\newcommand\InsertAuthor[1]{\gdef\@InsertAuthor{#1}}
\newcommand\InsertInstitute[1]{\gdef\@InsertInstitute{#1}}
\newcommand\InsertEmail[1]{\gdef\@InsertEmail{\url{#1}}}

\newcommand\Titlefont{\color{white}\fontsize{40}{48}\sffamily}
\newcommand\Authorfont{\color{white}\LARGE\sffamily}
\newcommand\Institutefont{\color{white}\Large\sffamily}
\newcommand\Emailfont{\color{white}\normalsize}

\newcommand\MakeTitle{%
\setbox0=\vbox{%
\begin{tabular}{@{}>{\centering\arraybackslash}p{\textwidth}@{}}
 \Titlefont\@InsertTitle \\
 \Authorfont\@InsertAuthor \\
 \Institutefont\@InsertInstitute \\
 \Emailfont\@InsertEmail \\
\end{tabular}}%
\setlength\TitleHt{\ht0}%
\addtolength\TitleHt{\dp0}%
\addtolength\TitleHt{1.5cm}%
\begin{tikzpicture}[remember picture,overlay]
\path[clip] 
  (current page.north west) -- (current page.north east) --
  ([yshift=-0.5\TitleHt]current page.north east) to[out=270,in=0] 
  ([yshift=-\TitleHt,xshift=-60pt]current page.north east) -- 
  ([yshift=-\TitleHt,xshift=60pt]current page.north west) to[out=180,in=270]
  ([yshift=-0.5\TitleHt]current page.north west) -- cycle;
\fill[fill=myblue] 
  (current page.north west) -- (current page.north east) --
  ([yshift=-0.5\TitleHt]current page.north east) to[out=270,in=0] 
  ([yshift=-\TitleHt,xshift=-60pt]current page.north east) -- 
  ([yshift=-\TitleHt,xshift=60pt]current page.north west) to[out=180,in=270]
  ([yshift=-0.5\TitleHt]current page.north west) -- cycle;
\path[top color=myblue!15,bottom color=myblue!65] 
  (current page.north east) .. controls
    ([yshift=-0.2\TitleHt,xshift=-50pt]current page.north east) 
    and ([yshift=-0.7\TitleHt,xshift=0pt]current page.north east) ..
  ([yshift=-1.1\TitleHt,xshift=-90pt]current page.north east)  .. controls
    ([yshift=-0.8\TitleHt,xshift=5pt]current page.north east) 
    and ([yshift=-0.2\TitleHt,xshift=-22pt]current page.north east) ..
  (current page.north east);
\path[top color=myblue!15,bottom color=myblue!65] 
  (current page.north east) .. controls
    ([yshift=-0.2\TitleHt,xshift=-90pt]current page.north east) 
    and ([yshift=-0.7\TitleHt,xshift=-20pt]current page.north east) ..
  ([yshift=-1.1\TitleHt,xshift=-110pt]current page.north east)  .. controls
    ([yshift=-0.8\TitleHt,xshift=-15pt]current page.north east) 
    and ([yshift=-0.2\TitleHt,xshift=-62pt]current page.north east) ..
  (current page.north east);
\node[anchor=south,text width=\paperwidth,align=center] at ([yshift=\the\dimexpr-\TitleHt+0.25cm\relax]current page.north) {\box0};
\end{tikzpicture}%
}
\makeatother

\InsertTitle{The Title of the Presentation}
\InsertAuthor{The Author}
\InsertInstitute{The Name of the Institution}
\InsertEmail{www.stackexchange.com}

\pagestyle{empty}

\begin{document}
\pagecolor{myblue!30}
\MakeTitle
\vspace*{2cm}

\begin{multicols}{3}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[3]
\end{block}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[4]
\end{block}
\begin{block}{Title of a block}
\lipsum[2]
\end{block}

\begin{block}{Title of a block}
\lipsum[3]
\end{block}
\begin{block}{Title of a block}
\lipsum[4]
\end{block}
\begin{block}{Title of a block}
\lipsum[1]
\end{block}

\begin{block}{Title of a block}
\lipsum[5]
\end{block}

\end{multicols}

\end{document}

enter image description here

share|improve this answer
    
Looks good ! What about using documentclass A0poster and A0 paper size instead ? (to obtain directly a poster size) –  Laurent Jun 25 '13 at 7:54
    
@user81566 sure! You can use any document class and any (reasonable) paper size. –  Gonzalo Medina Jun 25 '13 at 14:47
    
After few tweaks, it works very well on A0 :) –  Laurent Jun 27 '13 at 9:12
add comment

Currently a group of four people (Elena, Pascal, Richard and myself) are working on this topic, too. We are merging the ideas of the class tikzposter and Elena´s class together.

Our aim is to create an easy to handle poster class. It separates the content and the appearance of the poster with the help of themes for every part of the poster. This makes our new class very flexible, because you will be able to combine e.g. themes for the background with different themes for the blocks or the header. Furthermore we support Elena´s idea of callout nodes to point out special information.

Edit from March 10, 2014: Please note that we have already released version 2.0 of the class tikzposter.

share|improve this answer
2  
Sweet! Please consider adding yourself here meta.tex.stackexchange.com/questions/1181/… and let us know if we can contribute in any way. And of course thank you and the team for the contributions. –  percusse Jun 25 '13 at 11:31
2  
This is great! If I may suggest some work to perhaps incorporate or at least think about, there's also baposter for which the website itself also has a nice layout for a poster IMO. Keep up the good work! –  rubenvb Jun 26 '13 at 7:56
    
Is this class available in a public repository? –  Miguel de Val-Borro Aug 19 '13 at 19:33
    
Not yet. We are working on our first version. When we are satisfied with it, the class will be available on CTAN and in a public git repo. –  Dirk Aug 22 '13 at 8:17
add comment

As Elena mentioned, we released the TikZposter class version 2. You find the class on CTAN. The sources with an issue tracker and a growing wiki is available on Bitbucket.

Have fun creating posters and do not hesitate to give us feedback.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.