CTAN Comprehensive TeX Archive Network

Directory graphics/pgf/contrib/tikz-catan

README.md

tikz-catan

tikz-catan is a package that draws boards of The Settlers of Catan as TikZ graphics: the 19-hex board with resources, number tokens, ports, settlements, cities, roads, and the robber. Output is vector, in the document's fonts; the only dependency is TikZ.Full board

Installation

Copy tikz-catan.sty into the same directory as the main .tex file (on Overleaf, upload it to the project root) and load it with \usepackage{tikz-catan}. For a system-wide install, place the file in TEXMFHOME/tex/latex/tikz-catan/ instead; kpsewhich -var-value TEXMFHOME prints that location. TikZ ships with every standard distribution, so nothing else is needed.

Quick start

\documentclass[tikz,border=8pt]{standalone}
\usepackage{tikz-catan}
\begin{document}
\begin{tikzpicture}
  \catanframe % sea frame
  \standardboard{\hexfull} % 19 hexes, full color
  \standardports{\port} % nine ports
  \robber{0}{0} % robber on the desert
\end{tikzpicture}
\end{document}

The same tikzpicture works inside any document class. \standardboard and \standardports are a built-in legal example layout: correct tile and token multisets, no adjacent 6/8 tokens, and a token-free desert.

Usage

A board is written as data, one {q}{r}{resource}{number} entry per hex, and passed to a renderer that decides how each hex is drawn; drawing the same board in another style means changing only the renderer name. Here (q,r) are axial hex coordinates (the manual contains a labeled map), resource is one of wood brick sheep wheat ore desert, and number 0 means no token (the desert). \catanrows builds the same list from five comma-separated rows, so coordinates never have to be written by hand.

Highlighting means declaring hexes of interest, then rendering with \hexauto: declared hexes draw in full color and all others gray out. A declaration names one coordinate (\hlhex{q}{r}), every hex of one resource (\hlres{wheat}), or every hex with a given dice number (\hlnum{6}); a hex lights up if it matches any declaration, and declarations reset outside the current tikzpicture. \portauto applies the same rule to harbors. Pieces and ports are placed by naming a hex plus one of its corners or sides. Each feature below is shown in the Gallery.

Command Purpose
\standardboard{<renderer>} Built-in legal board through a callback
\catanrows{<renderer>}{r1; r2; r3; r4; r5} Custom board from five comma-separated rows
\hexfull{q}{r}{res}{n} Hex in full color: resource art and number token
\hexdim{...} The same hex grayed out (backdrop for highlights)
\hexshape{...} Outline only, no colors or numbers
\hexprob{...} Neutral hex showing only the number token and its roll odds
\hexauto{...} Full color if the hex is highlighted, grayed out otherwise
\hlhex{q}{r} / \hlres{res} / \hlnum{n} Highlight by coordinate / resource / dice number
\hexdots Mark the six corners of each hex (all 54 building spots)
\settlement{q}{r}{corner}{col} / \city{...} Buildings on a vertex
\road{q}{r}{side}{col} Road on an edge
\port{q}{r}{side}{type} Harbor with piers and a ratio badge
\portdim{...} / \portauto{...} Grayed-out harbor / full color only when its resource is highlighted
\standardports{<port renderer>} The built-in layout's nine ports through a callback
\robber{q}{r} / \catanframe / \catanlegend{y} Robber, sea frame, resource-color legend
\vertexXY{q}{r}{corner} / \hexXY{q}{r} Low-level coordinates for annotations
\CatanS / \cataniconsfalse Scale knob / resource-art toggle

Corners are N NE SE S SW NW; sides are NE E SE SW W NW (side E runs from corner NE to corner SE; a vertex can be addressed through any of the up to three hexes that share it). Port types are generic (3:1) or a resource name (2:1). Player colors pred pblue porange pwhite are predefined, and every palette color is a redefinable xcolor name. \CatanS is the hex circumradius in cm (default 1.05); \cataniconsfalse removes the resource art from hexes. User-supplied boards and placements are not validated.

Gallery

Icons offSilhouetteProbability viewOpening positionPlacement pair highlightWheat economyCustom board via row inputPort distance annotation
Resource art off (\cataniconsfalse) Silhouette + 54 building spots (\hexshape + \hexdots)
Tokens and roll odds only (\hexprob) An opening position (settlements, city, roads, robber)
Highlighting chosen hexes (\hlhex + \hexauto) All wheat hexes and the wheat port (\hlres + \portauto)
A custom board from row input (\catanrows) Annotation over a grayed board (\hexdim + \vertexXY)

Source files for these are in examples/; the full manual is doc/tikz-catan-doc.pdf.

License and attribution

MIT, see LICENSE. All artwork is original flat geometry; no official Catan art is reproduced. Not affiliated with Catan GmbH or Catan Studio.

Download the contents of this package in one zip archive (335.4k).

tikz-catan – Draw Settlers of Catan board states with

The package draws board states of The Settlers of Catan in documents: full boards with resources, number tokens, ports, pieces, and the robber, plus silhouette, probability, and highlight views. Boards are declared as data and rendered through swappable callbacks. The only dependency is .

Packagetikz-catan
Bug tracker
Repository
Version1.0.0 2026-07-30
LicensesMIT License
Copyright2026 Teodor Filip Leahu
MaintainerTeodor Filip Leahnu
Contained inTeX Live as tikz-catan
TopicsGames
PGF
...
Guest Book Sitemap Contact Contact Author