---
name: tikzposter-poster-conventions
source: https://app.decimal.ai/s/tikzposter-poster-conventions@1/SKILL.md
source_sha256: c85ead75c2a6
---

# tikzposter poster conventions

## Contract

When the source is a poster built on the `tikzposter` document class, emit `tikzposter`'s own
commands and environments — not the beamer / beamerposter idioms a general LaTeX model reaches for.
The class provides a specific, closed API; using beamer's block environment, beamer themes, the
standard figure environment, frames, or length-valued columns produces a document that does not
compile under `tikzposter`.

## Rules

1. **Document class.** Start with `\documentclass[<opts>]{tikzposter}`. Valid class options include a
   font size (`12pt` `14pt` `17pt` `20pt` `25pt`), a paper size (`a0paper` `a1paper` `a2paper`), and an
   orientation (`portrait` or `landscape`). Do **not** use `\documentclass{beamer}` with
   `\usepackage{beamerposter}`, and do **not** use the `a0poster` or `baposter` classes.
2. **Title and header.** Declare metadata with `\title{...}`, `\author{...}`, and `\institute{...}`
   (optionally `\titlegraphic{...}`), then emit the banner with `\maketitle`. There is no title frame:
   never wrap the title in `\begin{frame}...\end{frame}` or call `\titlepage`.
3. **Content blocks — command form.** Every section is a command with two brace arguments:
   `\block{<title>}{<content>}`. Do not use the environment form `\begin{block}{<title>} ... \end{block}`
   (that is beamer). Blocks are placed directly in the document body; `tikzposter` has **no frames**.
4. **Columns.** Wrap a multi-column region in one `\begin{columns} ... \end{columns}`. Open each column
   with `\column{<f>}`, where `<f>` is a bare decimal fraction of the text width (e.g. `\column{0.5}`).
   The argument is a fraction, **not** a length: never `\column{0.5\textwidth}` and never a `cm` value.
   Fractions across a `columns` region should sum to about 1.
5. **Sub-columns and inner blocks.** For side-by-side content inside one column, use
   `\begin{subcolumns} ... \end{subcolumns}` with each part opened by `\subcolumn{<width>}`. For a
   nested titled box inside a block, use `\innerblock{<title>}{<content>}` (again two brace arguments).
6. **Figures.** Place images in the `\begin{tikzfigure}[<caption>] ... \end{tikzfigure}` environment,
   with `\includegraphics` inside. The caption is the environment's **optional bracket argument** — do
   not use the standard `\begin{figure}` environment and do not add a separate `\caption{...}`.
7. **Theme.** Select the layout theme with `\usetheme{<name>}`, where `<name>` is one of tikzposter's
   themes: `Default` `Rays` `Basic` `Simple` `Envelope` `Wave` `Board` `Autumn` `Desert`. A beamer
   theme (Madrid, Berlin, Warsaw, Copenhagen, …) is not a tikzposter theme.
8. **Color style.** Set colors with `\usecolorstyle{<name>}`, where `<name>` is one of `Default`
   `Australia` `Britain` `Sweden` `Spain` `Russia` `Denmark` `Germany`. Do not use beamer's
   `\usecolortheme`. Theme and color style are independent — set them separately.
9. **Block / background / title styles.** `\useblockstyle{<name>}` takes one of `Default` `Basic`
   `Minimal` `Envelope` `Corner` `Slide` `TornOut`. `\usebackgroundstyle{<name>}` takes one of
   `Default` `Rays` `VerticalGradation` `BottomVerticalGradation` `Empty`. `\usetitlestyle{<name>}`
   takes one of `Default` `Basic` `Envelope` `Wave` `VerticalShading` `Filled` `Empty`.
10. **Floating notes.** Add a callout with `\note[<options>]{<content>}` — the bracketed options position
    it (e.g. `targetoffsetx`, `targetoffsety`, `width`).

## Worked examples

**Class + title (beamer default → tikzposter):**
```latex
% BEFORE (beamerposter habit)
\documentclass{beamer}
\usepackage[size=a0,scale=1.4]{beamerposter}
...
\begin{frame}{}\titlepage\end{frame}

% AFTER (tikzposter)
\documentclass[25pt, a0paper, portrait]{tikzposter}
\title{Deep Coastal Upwelling}\author{R. Vega}\institute{Marine Lab}
\maketitle
```

**Section block:**
```latex
% BEFORE
\begin{block}{Introduction}
  Coastal upwelling drives nutrient flux ...
\end{block}

% AFTER
\block{Introduction}{
  Coastal upwelling drives nutrient flux ...
}
```

**Columns:**
```latex
% BEFORE (beamer column environment + length)
\begin{columns}
  \begin{column}{0.5\textwidth} ... \end{column}
  \begin{column}{0.5\textwidth} ... \end{column}
\end{columns}

% AFTER (tikzposter fractional \column)
\begin{columns}
  \column{0.5} \block{Methods}{...}
  \column{0.5} \block{Results}{...}
\end{columns}
```

**Figure:**
```latex
% BEFORE
\begin{figure}\includegraphics[width=0.8\linewidth]{fig.png}\caption{Flux map}\end{figure}

% AFTER
\begin{tikzfigure}[Flux map]
  \includegraphics[width=0.8\linewidth]{fig.png}
\end{tikzfigure}
```

**Theme + color style:**
```latex
% BEFORE
\usetheme{Madrid}\usecolortheme{dolphin}

% AFTER
\usetheme{Rays}\usecolorstyle{Denmark}
```

## Edge cases & exceptions

- **Nested figure inside a block:** still use `tikzfigure`; the caption stays in the optional `[ ]`.
- **Half/half split within one block:** use `subcolumns`/`\subcolumn`, not a fresh `columns` region.
- **Landscape:** add the `landscape` class option; the default when omitted is `portrait`.
- **Referencing a figure:** put `\label{...}` inside the `tikzfigure` environment; the optional caption
  argument still holds the caption text.
- **Only one column of content:** you may skip `columns` entirely and place `\block{...}{...}` calls
  directly after `\maketitle`.

## Do / Don't

- **Don't** `\begin{block}{T} ... \end{block}` · **Do** `\block{T}{ ... }`.
- **Don't** `\documentclass{beamer}` + `beamerposter` · **Do** `\documentclass[...]{tikzposter}`.
- **Don't** `\column{0.5\textwidth}` · **Do** `\column{0.5}`.
- **Don't** `\begin{figure}` + `\caption{}` · **Do** `\begin{tikzfigure}[caption]`.
- **Don't** `\usetheme{Madrid}` / `\usecolortheme{...}` · **Do** a tikzposter `\usetheme` + `\usecolorstyle`.
- **Don't** wrap content in `\begin{frame}` · **Do** place blocks directly in the document body.

## Common mistakes

- Reusing beamer's block **environment** instead of the `\block{}{}` command.
- Naming a beamer theme/colortheme where a tikzposter theme / color style is required.
- Passing a length (`0.5\textwidth`, `20cm`) to `\column` instead of a bare fraction.
- Using the standard `figure` environment and a `\caption{}` instead of `tikzfigure[...]`.
- Wrapping sections in frames — tikzposter has no frames.
- Writing `\documentclass{a0poster}` or `{baposter}` when the target is tikzposter.

## Quick checklist

- [ ] `\documentclass[...]{tikzposter}` (not beamer/beamerposter/a0poster/baposter).
- [ ] `\title/\author/\institute` + `\maketitle`; no frames, no `\titlepage`.
- [ ] Sections use `\block{title}{body}` command form.
- [ ] `columns` region; `\column{<fraction>}` (bare fraction, not a length).
- [ ] Figures in `tikzfigure[<caption>]`, not `figure`/`\caption`.
- [ ] `\usetheme{...}` + `\usecolorstyle{...}` from tikzposter's name sets.
