A modern LaTeX class for building “Better Poster v2”-style scientific posters, with ETH-inspired color schemes as the current defaults.
- Class file: betterposterv2.cls
- Example poster: poster.tex
This project provides a single class, betterposterv2, that focuses on:
- a prominent main finding in the header,
- a simple grid-based content box layout,
- a structured footer with optional QR code, affiliations, logo, portrait, etc.
The shipped preset uses an ETH-like palette, but the design is intended to be neutral: colors can be switched via options or overridden individually.
- A reasonably modern TeX distribution (TeX Live / MiKTeX).
- LuaLaTeX (recommended) or XeLaTeX for font support (the class is set up for modern OpenType fonts via
fontspec/unicode-math). - Core packages are loaded by the class (notably
geometry,scrlayer-scrpage,tcolorbox,fontspec,unicode-math,hyperref, …).
If you compile with pdfLaTeX, the class will fall back, but modern font features will be limited. This has not been extensively tested with old TeX versions.
- Put betterposterv2.cls next to your
poster.texfile - Start from the example in poster.tex.
Minimal example (adapted from poster.tex):
\documentclass{betterposterv2}
\mainfinding{You can easily spend a day creating a LaTeX Layout, when you should actually work}
\title{Investigating procrastination and layout quality}
\authors{Tess Tomorrow, Drew One-More-Minute Deferral}
\affiliations{Department of Procrastination Studies, University of Uncertainty}
\publicationyear{2026}
% Optional:
% \qrcode{path/to/qr-code}
% \logo{path/to/logo}
% \portrait{path/to/photo}
\begin{document}
\maketitle
\begin{bpbox}[bpcolor=grey, title={Background}]
...
\end{bpbox}
\begin{bpcolumns}[2]
\begin{bpbox}[title={Result 1}, bptitlebg=transparent]
...
\end{bpbox}
\begin{bpbox}[title={Result 2}, bptitlebg=transparent]
...
\end{bpbox}
\end{bpcolumns}
\bpsection{Methods}
\begin{bpbox}[title={}]
...
\end{bpbox}
\end{document}Using LuaLaTeX directly:
lualatex poster.texIf you use latexmk:
latexmk -lualatex -interaction=nonstopmode -halt-on-error poster.texDefined in betterposterv2.cls. See also poster.tex:
colorscheme=default|green|blue|red|purplefontsize=42pt(and similar sizes supported by KOMA-Script)papersize=a0paper|a1paper|...orientation=portrait|landscapedebug=true|false(enablesshowframe+ KOMA draft markers)
Override header/footer heights and margins (see poster.tex):
\SetHeaderHeight{20cm}\SetFooterHeight{10cm}\SetSideMargin{3cm}
The class applies a scheme at end of preamble via \SetColorScheme{...} (see betterposterv2.cls). You can also override individual roles:
\SetPageColor{<color>}\SetHeaderColor{<color>},\SetHeaderTextColor{<color>}\SetFooterColor{<color>},\SetFooterTextColor{<color>}\SetLightBoxColor{<color>},\SetDarkBoxColor{<color>}
\mainfinding{...}: header statement\title{...}+\maketitle: title blockbpboxenvironment: content boxes (based ontcolorbox)bpcolumnsenvironment: grid layout for multiple columns- Footer fields:
\authors,\affiliations,\publicationyear, optional\qrcode,\logo,\portrait
This class is functional but not “finished”. The current focus is a clean baseline and an ETH-inspired default palette.
Contributions are welcome, especially:
- additional color schemes,
- typographic improvements,
- better defaults for different paper sizes/orientations,
- code review and simplification of the class internals.
- Open issues for bugs, layout problems, and feature requests.
- Pull requests are welcome for incremental, well-scoped changes (new color schemes are a great starting point).
- Keep changes compatible with LuaLaTeX/XeLaTeX workflows.
The layout approach is inspired by Mike Morrison’s “Better Poster” concept (v2, Portrait). This repository is an independent LaTeX implementation and is not an official ETH or betterposter template.
See LICENSE.md.