summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
blob: 85436abcd734b3961ad7ed33acae4d57aa2a2452 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
% !TeX root = tcolorbox.tex
% include file of tcolorbox.tex (manual of the LaTeX package tcolorbox)
\clearpage
\section{Library \mylib{poster}}\label{sec:poster}%
\tcbset{external/prefix=external/poster_}%

The main purpose of this library is to support creation of single page posters
with |tcolorbox|es.

A \refEnv{tcbposter} is a |tikzpicture| where |tcolorbox|es can be
placed in a column oriented manner using \refCom{posterbox} commands.
This base concept is more or less copied from the great |baposter| package.

The \mylib{raster} library, see \Fullref{sec:raster}, can produce
similar looking results and may be more appropriate
depending on the actual project.
\begin{itemize}
\item The \mylib{raster} library has a flow oriented concept, just like a
  convential text flow. The text flow (box flow) is a merely endless ribbon
  which gets broken into lines (and paragraphs) and the lines are broken
  into pages. \mylib{raster} shapes the boxes to convenient sizes to fill
  lines and pages in a pleasant way.
\item The \mylib{tcbposter} library supports a quite free placement of
  boxes inside a page.
  Basically, boxes are placed like |node|s are placed inside a |tikzpicture|.
  In contrast to \mylib{raster}, this is a \emph{single} page
  and not a flow of pages.
  The poster is divided into columns and rows.
  There is a more or less gentle force to use the columns (or spans of columns)
  for positioning and sizing while the row placement is completely optional.
\end{itemize}
The creation of this library was motivated by Ignasi.

\begin{marker}
Inside a |tikzpicture| there should be no embedded |tikzpicture|s.
This rule is violated by the \mylib{poster} library. Be aware that there
may be some unwanted interactions between the main |tikzpicture| and
the embedded ones inside the |tcolorbox|es.
\end{marker}

The library is loaded by a package option or inside the preamble by:
\begin{dispListing}
\tcbuselibrary{poster}
\end{dispListing}
This also loads the libraries
\mylib{skins}, see \Fullref{sec:skins},
\mylib{breakable}, see \Fullref{sec:breakable},
\mylib{magazine}, see \Fullref{sec:magazine}, and
\mylib{fitting}, see \Fullref{sec:fitting}.


%--------------------------
\subsection{Overview}\label{subsec:poster_overview}


\begin{tcolorbox}[base example,hyperurl={tcolorbox-tutorial-poster.pdf},title=Click me to see the tutorial]
You get the best overview of the \mylib{poster} library and its facilities,
if you look at the \textbf{Poster Tutorial} which is part of the |tcolorbox|
documentation:\par
\texttt{tcolorbox-tutorial-poster.pdf}
\end{tcolorbox}



\clearpage
%--------------------------
\subsection{Main Poster Environment}\label{subsec:poster_environment}

\begin{docEnvironment}[doc new=2017-07-03]{tcbposter}{\oarg{options}}
  This creates a |tikzpicture| environment with suitable additional
  settings defined by the given \meta{options}.
  Basically, \refCom{posterbox} and \refEnv{posterboxenv} are
  used to place |tcolorboxes| as nodes into the environment,
  but additional \tikzname\ code can also be used.
  As \meta{options} all |/tcb/posterset/| keys may be applied, namely:
\begin{itemize}
\item\refKey{/tcb/posterset/poster}: poster settings like columns, rows, sizes\ldots
\item\refKey{/tcb/posterset/coverage} and \refKey{/tcb/posterset/no coverage}:
  settings for a surrounding |tcolorbox| for background and margins.
\item\refKey{/tcb/posterset/boxes}: style of the |tcolorbox|es used for the poster.
\item\refKey{/tcb/posterset/fontsize}: scaling of used fonts.
\end{itemize}

\begin{exdispExample}{tcbposter}
  \begin{tcbposter}[
    poster = {showframe,height=10cm,spacing=2mm},
    boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
  ]
  \posterbox{name=A,column=3,row=2}{My first box}
  \posterbox[adjusted title=Second box]
            {name=B,column=2,span=2,below=A}{My second box}
  \posterbox[adjusted title=Third box]
            {name=C,column=2,between=B and bottom}{My third box}
  \end{tcbposter}
\end{exdispExample}
\end{docEnvironment}

\clearpage
  Inside \refEnv{tcbposter}, there are several predefined \tikzname\ nodes.
  These nodes share a common \refKey{/tcb/poster/prefix} which is
  |TCBPOSTER@| by default. This prefix is used to discriminate the
  poster nodes from local nodes of any embedded |tikzpicture| environment.
  You will never need this prefix using \refCom{posterbox} and its
  placement options, but if you want to refer to a predefined node using
  pure \tikzname\ code.
  The predefined nodes (shown without prefix) are:
  \begin{itemize}
  \item|poster|: defines the bounding box of the poster (without the coverage).
  \item|top|: top position plus row spacing
  \item|bottom|: bottom position minus row spacing
  \item|middle|: vertical middle position
  \item|col1|, |col2|, \ldots: bounding box of column~1, column~2, \ldots
  \item|row1|, |row2|, \ldots: bounding box of row~1, row~2, \ldots
  \end{itemize}
  Further nodes are defined using the \refKey{/tcb/posterloc/name} option.

  \begin{marker}
  Never use a \refEnv{tcbposter} inside a \refEnv{tcbposter}.
  But, if you do anyway, use a different \refKey{/tcb/poster/prefix} for
  the embedded poster or you surely get a total mess.
  \end{marker}

  There are several properties inside a \refEnv{tcbposter} which may be useful
  for advanced code (skip the following on first reading):
  \begin{itemize}
  \item\docAuxCommand{tcbposterwidth}: Width of the poster (without margins).
  \item\docAuxCommand{tcbposterheight}: Height of the poster (without margins).
  \item\docAuxCommand{tcbpostercolspacing}: Column distance.
  \item\docAuxCommand{tcbposterrowspacing}: Row distance.
  \item\docAuxCommand{tcbpostercolumns}: Column quantity.
  \item\docAuxCommand{tcbposterrows}: Row quantity.
  \item\docAuxCommand{tcbpostercolwidth}: Width of a column.
  \item\docAuxCommand{tcbposterrowheight}: Height of a row.
  \end{itemize}

\medskip
\begin{docCommand}[doc new=2017-07-03]{tcbposterset}{\marg{options}}
  Sets options for every following \refEnv{tcbposter} inside the current \TeX\ group.
  For example, the numbers for rows and columns may be defined for the whole document by this:
\begin{dispListing}
\tcbposterset{poster={columns=2,rows=3}}
\end{dispListing}
  See \refEnv{tcbposter} for all feasible options.
\end{docCommand}


\clearpage
%--------------------------
\subsection{Poster Settings}\label{subsec:poster_settings}

\begin{postersetTcbKey}[][doc new=2017-07-03]{poster}{=\marg{option list}}{style, no default}
  This option can be applied inside \refEnv{tcbposter} and \refCom{tcbposterset}
  to set the given poster \meta{option list}, e.g.
\begin{dispListing}
\tcbposterset{poster={width=20cm,height=15cm}}
\end{dispListing}
  For the \meta{option list}, see the following keys.
\end{postersetTcbKey}


\begin{posterTcbKey}[][doc new=2017-07-03]{columns}{=\meta{number}}{no default, initially |3|}
  Sets the \meta{number} of columns for a |tcbposter|.
\begin{exdispExample}{columns}
  \begin{tcbposter}[
    poster = {showframe,columns=5,rows=2,spacing=1mm,height=4cm},
  ]
  \end{tcbposter}
\end{exdispExample}
\end{posterTcbKey}

\begin{posterTcbKey}[][doc new=2017-07-03]{rows}{=\meta{number}}{no default, initially |4|}
  Sets the \meta{number} of rows for a |tcbposter|.
\end{posterTcbKey}


\begin{posterTcbKey}[][doc new=2017-07-03]{colspacing}{=\meta{length}}{no default, initially |4mm|}
  Sets \meta{length} as distance between columns.
\end{posterTcbKey}

\begin{posterTcbKey}[][doc new=2017-07-03]{rowspacing}{=\meta{length}}{no default, initially |4mm|}
  Sets \meta{length} as distance between rows.
\end{posterTcbKey}

\begin{posterTcbKey}[][doc new=2017-07-03]{spacing}{=\meta{length}}{style, no default, initially |4mm|}
  Sets \meta{length} as distance between columns and rows.
\end{posterTcbKey}


\begin{posterTcbKey}[][doc new=2017-07-03]{showframe}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
  Displays a red auxiliary mesh as optical support during poster creation.
  Also, every \refKey{/tcb/posterloc/name} is displayed.
\end{posterTcbKey}


\begin{posterTcbKey}[][doc new=2017-07-03]{width}{=\meta{length}}{no default, initially \cs{linewidth}}
  Sets \meta{length} as width of the poster. For a typical poster, this has not
  to be set manually. Especially, if \refKey{/tcb/posterset/coverage} is present,
  use |coverage={width=|\meta{length}|}| instead to change the overall width.
\end{posterTcbKey}

\enlargethispage*{1cm}

\begin{posterTcbKey}[][doc new=2017-07-03]{height}{=\meta{length}}{no default, initially unset}
  Sets \meta{length} as height of the poster. For a typical poster, this has not
  to be set manually, but is set automatically to an appropriate value.
  If \refKey{/tcb/posterset/coverage} is present, use only one if any option
  |coverage={height=|\meta{length}|}| or |poster={height=|\meta{length}|}|.
\end{posterTcbKey}


\begin{posterTcbKey}[][doc new=2017-07-03]{prefix}{=\meta{name}}{no default, initially |TCBPOSTER@|}
  \meta{name} is set as prefix for any \tikzname\ node which is generated
  automatically by the \mylib{poster} library. This encompasses predefined
  nodes like |top|, |bottom|, \ldots, and nodes defined by using
  \refKey{/tcb/posterloc/name}. Also, see~\Fullref{subsec:poster_environment}.
  For a typical poster, this value can stay as it is.
\end{posterTcbKey}


%--------------------------
\subsection{Coverage}\label{subsec:poster_coverage}

\begin{postersetTcbKey}[][doc new=2017-07-03]{coverage}{=\marg{option list}}{style, no default}
  This option can be applied inside \refEnv{tcbposter} and \refCom{tcbposterset}
  and it adds an optional coverage for the poster which is a surrounding |tcolorbox|
  with the given \meta{option list}. Here, margins and background settings
  for the poster can be given.
  The \emph{coverage} has several default |tcolorbox| settings
  suitable for the purpose:
\begin{dispListing}
enhanced, frame hidden, sharp corners, boxsep=0pt, boxrule=0pt,
top=4mm, bottom=4mm, left=4mm, right=4mm,
toptitle=2mm, bottomtitle=2mm, colback=white
\end{dispListing}

The \meta{option list} can contain any |tcolorbox| option.

\begin{exdispExample}{coverage}
\begin{tcbposter}[
  poster   = {showframe,spacing=1mm},
  coverage = {height=5cm,
              interior style={top color=yellow,bottom color=yellow!50!red},
              watermark text={My Poster},watermark color=white,
             },
]
\end{tcbposter}
\end{exdispExample}

\begin{itemize}
\item For a typical poster, the option \refKey{/tcb/spread} will use the
  whole page for the poster coverage.
\item Poster margins can be adapted by \refKey{/tcb/left}, \refKey{/tcb/right},
  \refKey{/tcb/top}, \refKey{/tcb/bottom}.
\item Poster background can be changed by \refKey{/tcb/colback},
  \refKey{/tcb/interior style}, \refKey{/tcb/interior style image}, etc.
\item Do not use \refKey{/tcb/poster/width} and \refKey{/tcb/poster/height}
  in combination with a \emph{coverage}. Note that you may use
  \refKey{/tcb/width} and \refKey{/tcb/height} inside
  the \emph{coverage} \meta{option list}. Note that this also is not
  necessary when \refKey{/tcb/spread} is applied.
\end{itemize}
\end{postersetTcbKey}


\begin{postersetTcbKey}[][doc new=2017-07-03]{no coverage}{}{style, no value, initially set}
  Removes the surrounding |tcolorbox| completely.
\end{postersetTcbKey}

\clearpage
%--------------------------
\subsection{Common Box Settings}\label{subsec:poster_boxsettings}


\begin{postersetTcbKey}[][doc new=2017-07-03]{boxes}{=\marg{option list}}{style, no default}
  This option can be applied inside \refEnv{tcbposter} and \refCom{tcbposterset}
  and it is used to set up the style of the |tcolorbox|es inside the poster.
  The \meta{option list} can contain any |tcolorbox| option, but box size
  options are not assumed to be useful here, because the size will be
  determined by the placement options.

\begin{exdispExample}{boxes}
\begin{tcbposter}[
  poster   = {spacing=2mm,columns=3,rows=2},
  coverage = {height=5cm,
              interior style={top color=yellow,bottom color=yellow!50!red},
             },
  boxes    = {sharp corners=downhill,arc=3mm,boxrule=1mm,
              colback=white,colframe=cyan,
              title style={left color=black,right color=cyan},
              fonttitle=\bfseries}
]
  \posterbox[adjusted title=First]{column=1,row=1,span=2}{First box}
  \posterbox[adjusted title=Second]{column=1,row=2,span=2}{Second box}
  \posterbox[adjusted title=Third]{column=3,row=1,rowspan=2}{Third box}
\end{tcbposter}
\end{exdispExample}

\end{postersetTcbKey}


%--------------------------
\subsection{Font Scaling}\label{subsec:poster_fontsize}

\begin{postersetTcbKey}[][doc new=2017-07-03]{fontsize}{=\meta{length}}{style, no default, initially unset}
  This option can be applied inside \refEnv{tcbposter} and \refCom{tcbposterset}.
  It uses \refKey{/tcb/fit basedim} and \refKey{/tcb/fit fontsize macros}
  to redefine |\normalsize| to \meta{length} and all other standard
  font size macros like |\small| and |\large| accordingly.\par
  This needs a freely scalable font family like |lmodern| to work.
  If \refKey{/tcb/posterset/fontsize} is not applied, there standard
  font size macros are not changed in any way.

\begin{dispListing}
\begin{tcbposter}[
  poster   = {spacing=2mm,columns=3,rows=2},
  coverage = {height=5cm,
              interior style={top color=yellow,bottom color=yellow!50!red},
             },
  fontsize = 15pt,   % <--- \normalsize is now 15pt
]
...
\end{dispListing}
\end{postersetTcbKey}


\clearpage
%--------------------------
\subsection{Box Placement}\label{subsec:poster_boxplacement}

\begin{docCommand}[doc new=2017-07-03]{posterbox}{\oarg{options}\marg{placement}\marg{box content}}
  Inside a \refEnv{tcbposter} environment, this places a |tcolorbox| with
  additional |tcolorbox| \meta{options} and the given \meta{box content}
  at a place determined by \meta{placement}.
  All \meta{placement} options are described in the following.
  Note that \meta{box content} cannot contain \emph{verbatim} material,
  see \refEnv{posterboxenv}.
\begin{exdispExample}{posterbox}
\begin{tcbposter}[
  poster = {showframe,height=4cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox[title=My title]{name=A,column=2,row=2}{My first box}
\end{tcbposter}
\end{exdispExample}
\end{docCommand}

\begin{docEnvironment}[doc new=2017-07-03]{posterboxenv}{\oarg{options}\marg{placement}}
  This is the environment version of \refCom{posterbox}, i.e.\ inside a
  \refEnv{tcbposter} environment, this places a |tcolorbox| with
  additional |tcolorbox| \meta{options} and the given \meta{environment content}
  at a place determined by \meta{placement}.
  In contrast to \refCom{posterbox}, the \meta{environment content} is
  allowed to contain \emph{verbatim} material. Note that the implementation
  of \refCom{posterbox} is more efficient than the implementation of \refEnv{posterboxenv}.

\enlargethispage*{1cm}
\begin{exdispExample}{posterboxenv}
\begin{tcbposter}[
  poster = {showframe,height=4cm,spacing=2mm,rows=2},
  boxes  = {size=small,beamer,
            colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\begin{posterboxenv}[title=My title]{name=A,column=2,between=top and bottom}
  My first box.
  \begin{tcblisting}{size=small,colback=yellow!10}
My \textbf{first}
poster listing.
  \end{tcblisting}
\end{posterboxenv}
\end{tcbposter}
\end{exdispExample}

\end{docEnvironment}


\clearpage
\begin{posterlocTcbKey}[][doc new=2017-07-03]{name}{=\meta{name}}{no default, initially |@|}
  Sets \meta{name} as reference for the current \refCom{posterbox} or
  \refEnv{posterboxenv}.
  A \tikzname\ shape name is constructed automatically as combination
  of \refKey{/tcb/poster/prefix} and \meta{name}.
\begin{exdispExample}{name}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=2,row=2}{My first box}
\node[below right=4mm,fill=yellow] (X) at (TCBPOSTER@poster.north west) {Example A};
\draw[blue,very thick,->] (X) |- (TCBPOSTER@A);
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\begin{posterlocTcbKey}[][doc new=2017-07-03]{column}{=\meta{number}}{no default, initially |1|}
  Places the box at the column denoted by \meta{number}. If \refKey{/tcb/posterloc/span}
  is not |1|, the box is aligned to the left side of column \meta{number}.
\begin{exdispExample}{column}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{row=1,column=2,span=2}{First box}
\posterbox{row=2,column=2,span=0.8}{Second box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}

\enlargethispage*{1cm}
\begin{posterlocTcbKey}[][doc new=2017-07-03]{column*}{=\meta{number}}{no default, initially unset}
  Places the box at the column denoted by \meta{number}. If \refKey{/tcb/posterloc/span}
  is not |1|, the box is aligned to the right side of column \meta{number}.
\begin{exdispExample}{columnstar}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{row=1,column*=2,span=2}{First box}
\posterbox{row=2,column*=2,span=0.8}{Second box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\clearpage
\begin{posterlocTcbKey}[][doc new=2017-07-03]{span}{=\meta{number}}{no default, initially |1|}
  Sets the width of the current box to span \meta{number} columns.
  \meta{number} is also allowed to be a real number like |0.5| or |1.7|.
  See \refKey{/tcb/posterloc/column} and \refKey{/tcb/posterloc/column*}
  for examples.
\end{posterlocTcbKey}

\begin{posterlocTcbKey}[][doc new=2017-07-03]{row}{=\meta{number}}{no default, initially unset}
  If this option is applied, the box is placed at the row denoted by \meta{number}.
  Also, the height is set as fixed according to \refKey{/tcb/posterloc/rowspan}.
\begin{exdispExample}{row}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{row=1,column=1}{First box}
\posterbox{row=1,column=2,rowspan=2}{Second box}
\posterbox[natural height]{row=1,column=3}{Third box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}

\begin{posterlocTcbKey}[][doc new=2017-07-03]{rowspan}{=\meta{number}}{no default, initially |1|}
  Sets the height of the current box to span \meta{number} rows.
  \meta{number} is also allowed to be a real number like |0.5| or |1.7|.
\begin{exdispExample}{rowspan}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{row=1,column=1,rowspan=0.9}{First box}
\posterbox{row=1,column=2,rowspan=1.5}{Second box}
\posterbox{row=1,column=3,rowspan=2}{Third box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}

\begin{posterlocTcbKey}[][doc new=2017-07-03]{fixed height}{}{no value, initially |0pt|}
  Sets the height of the current box span rows as denoted by
  \refKey{/tcb/posterloc/rowspan}.
  This can be used, if not \refKey{/tcb/posterloc/row}, but another
  height placement option is applied.
\end{posterlocTcbKey}


\clearpage
\begin{posterlocTcbKey}[][doc new=2017-07-03]{below}{=\meta{name}}{no default, initially |top|}
  The box is placed below another box with the given \meta{name}. Also,
  \meta{name} can be a predefined node, see \Fullref{subsec:poster_environment}.
\begin{exdispExample}{below}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,below=top}{First box}
\posterbox{name=B,column=1,below=A}{Second box}
\posterbox{name=C,column=2,below=B}{Third box}
\posterbox{name=D,column=3,below=row1}{Fourth box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\begin{posterlocTcbKey}[][doc new=2017-07-03]{above}{=\meta{name}}{no default, initially unset}
  The box is placed above another box with the given \meta{name}. Also,
  \meta{name} can be a predefined node, see \Fullref{subsec:poster_environment}.
\begin{exdispExample}{above}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,above=bottom}{First box}
\posterbox{name=B,column=1,above=A}{Second box}
\posterbox{name=C,column=2,above=B}{Third box}
\posterbox{name=D,column=3,above=row2}{Fourth box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\clearpage
\begin{posterlocTcbKey}[][doc new=2017-07-03]{at}{=\meta{name}}{no default, initially unset}
  The box is placed at the position with the given \meta{name}. This is
  quite likely a predefined node, see \Fullref{subsec:poster_environment}.
\begin{exdispExample}{at}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,at=middle}{First box}
\posterbox{name=B,column=2,at=row1}{Second box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\begin{posterlocTcbKey}[][doc new=2017-07-03]{between}{=\meta{name1} and \meta{name2}}{no default, initially unset}
  The box is placed below a box \meta{name1} and above another box \meta{name2}. Also,
  \meta{name1} and \meta{name2} can be predefined nodes, see \Fullref{subsec:poster_environment}.
\begin{exdispExample}{between}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,below=top}{First box}
\posterbox{name=B,column=1,between=A and bottom}{Second box}
\posterbox{name=C,column=2,above=bottom}{Third box}
\posterbox{name=D,column=2,between=top and C,span=2}{Fourth box}
\posterbox{name=E,column=3,between=D and bottom}{Fifth box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}


\clearpage
\begin{posterlocTcbKey}[][doc new=2017-07-03]{sequence}{=\meta{sequence}}{no default, initially unset}
  The box is broken into partial boxes. These partial boxes are placed
  following the given \meta{sequence} of placements.
  The feasible syntax for the \meta{sequence} is:\par\medskip
  \meta{column a} |between| \meta{name a1} |and| \meta{name a2} |then|\\
  \meta{column b} |between| \meta{name b1} |and| \meta{name b2} |then|\\
  \meta{column c} |between| \meta{name c1} |and| \meta{name c2} |then|\ldots\par\medskip
  Obviously, this places the first part box at \meta{column a} between
  \meta{name a2} and \meta{name a2}. The second box part is placed
  at \meta{column b} between
  \meta{name b2} and \meta{name b2}, and so on.

\begin{exdispExample}{sequence}
\begin{tcbposter}[
  poster = {showframe,height=6cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox[adjusted title=A]{name=A,column=1,below=top,span=2}{First box}
\posterbox{name=B,column=2,above=bottom,span=2}{Second box}
\posterbox[adjusted title=C,colframe=red!50!black,colback=red!50]{
  name=C, sequence=1 between A and bottom then
                   2 between A and B then
                   3 between top and B
  }{\lipsum[2]}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}

\clearpage

\begin{docTcbKey}[][doc new=2017-07-03]{placeholder}{}{style, no value}
  If the box content of a \refKey{/tcb/posterloc/sequence} is too short
  to fill all reserved box parts, the empty boxes are drawn with
  the \refKey{/tcb/placeholder} style. This style can be redefined, e.g.
  to \refKey{/tcb/blankest}, if nothing should be drawn for empty boxes.
\begin{exdispExample}{placeholder}
\begin{tcbposter}[
  poster = {showframe,height=2.5cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,below=top,span=2}{First box}
\posterbox[colframe=red!50!black,colback=red!50]{
  name=B, sequence=1 between A and bottom then
                   2 between A and bottom then
                   3 between top and bottom
  }{Second box followed by placeholder boxes}
\end{tcbposter}
\end{exdispExample}
\end{docTcbKey}



\begin{posterlocTcbKey}[][doc new=2017-07-03]{xshift}{=\meta{length}}{no default, initially |0pt|}
  Horizontal shift of a box by \meta{length}.
\begin{exdispExample}{xshift}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,row=1,xshift=6mm}{First box}
\posterbox{name=B,column=2,row=2,xshift=-6mm}{Second box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}

\clearpage

\begin{posterlocTcbKey}[][doc new=2017-07-03]{yshift}{=\meta{length}}{no default, initially |0pt|}
  Vertical shift of a box by \meta{length}.
\begin{exdispExample}{yshift}
\begin{tcbposter}[
  poster = {showframe,height=3cm,spacing=2mm,rows=2},
  boxes  = {beamer,colframe=blue!50!black,colback=blue!50,colupper=yellow!50},
]
\posterbox{name=A,column=1,row=1,yshift=-4mm}{First box}
\posterbox{name=B,column=2,row=2,yshift=4mm}{Second box}
\end{tcbposter}
\end{exdispExample}
\end{posterlocTcbKey}