tikz add tag
paulanueno (imported from SE)
I need to make a poster booklet (like a poster but instead of 1 pages 5 pages). I have been trying to add new pages in tikzposter with no success.

Any ideas?
Top Answer
samcarter
~~The problem with the tikzposter class is, that amongst some other questionable techniques (like nesting tikzpictures), it also wraps the whole document into a center environment which makes it nearly impossible to add page breaks. However you can trick the class by placing all additional pages within \AtEndDocument{...} which will only be executed once the class already closed its centre environment~~ (many thanks to @Ulrike Fischer for pointing out this was nonsense)

The problem with the tikzposter class is, that amongst some other questionable techniques (like nesting tikzpictures), it hides the surrounding tikzpicture environment from the user in \AtBeginDocument{} and \AtEndDocument{}. The tikzpicture can not be broken across pages, but you can manually close and reopen it like this:


\documentclass{tikzposter}
\title{Title}
\institute{Inst}
\author{Auth}
\titlegraphic{Logo}
\usetheme{Basic}

\AtEndDocument{%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% page 2
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\title{another title}
\begin{center}
\begin{tikzpicture}
% Background
\coordinate (topright) at (0.5\textwidth, 0.5\textheight);
\coordinate (bottomleft) at (-0.5\textwidth, -0.5\textheight);
\clip (bottomleft) rectangle (topright);
%
% Draw background
\begin{pgfonlayer}{backgroundlayer}
\fill[inner sep=0pt, line width=0pt, color=backgroundcolor] (bottomleft) rectangle (topright);
\end{pgfonlayer}
\maketitle
\block{BlocktitleA}{Blocktext}
\begin{columns}
\column{0.3}
\block{BlocktitleB}{Blocktext}
\column{0.7}
\block{BlocktitleC}{Blocktext}
\note{Notetext}
\end{columns}
\end{tikzpicture}
\end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% page 3
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\pagebreak
\title{yet another title}
\begin{center}
\begin{tikzpicture}
% Background
\coordinate (topright) at (0.5\textwidth, 0.5\textheight);
\coordinate (bottomleft) at (-0.5\textwidth, -0.5\textheight);
\clip (bottomleft) rectangle (topright);
%
% Draw background
\begin{pgfonlayer}{backgroundlayer}
\fill[inner sep=0pt, line width=0pt, color=backgroundcolor] (bottomleft) rectangle (topright);
\end{pgfonlayer}
\maketitle
\block{BlocktitleA}{Blocktext}
\begin{columns}
\column{0.3}
\block{BlocktitleB}{Blocktext}
\column{0.7}
\block{BlocktitleC}{Blocktext}
\note{Notetext}
\end{columns}
\end{tikzpicture}
\end{center}

}

\begin{document}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% page 1
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\maketitle
\block{BlocktitleA}{Blocktext}
\begin{columns}
\column{0.3}
\block{BlocktitleB}{Blocktext}
\column{0.7}
\block{BlocktitleC}{Blocktext}
\note{Notetext}
\end{columns}

\end{document}


That said, it might be easier to

- prepare 5 separate documents and glue them together, for example with the pdfpages package or similar tools

- use another class. For example I normally use the beamer class to create posters (maybe in combination with the beamerposter package). This class can automatically deal with multiple pages

Answer #2
Ignasi
An alternative to tikzposter could be tcbposter (from tcolorbox). You decide poster size inside any document class and can combine several posters inside the same document. A poster is not breakable between pages, but text can flow inside poster blocks.

A short example based on the tcolorbox documentation:


\documentclass{article}

\usepackage{tcolorbox}
\tcbuselibrary{poster}

\begin{document}

\begin{tcbposter}
\posterbox[adjusted title=My box]{name=A,column=1,row=1,span=3,between=top and bottom}{My first box}
\end{tcbposter}

\begin{tcbposter}
\posterbox[adjusted title=Another title]{name=A,column=1,row=1,span=3,between=top and bottom}{My first box}
\end{tcbposter}

\end{document}


Enter question or answer id or url (and optionally further answer ids/urls from the same question) from

Separate each id/url with a space. No need to list your own answers; they will be imported automatically.