CTAN Comprehensive TeX Archive Network

Directory graphics/pgf/contrib/integramme

README.md

integramme - release candidate 0.9.0

integramme is a package for typesetting staircase-style logic-grid puzzles (integrammes / Einstein-style logic-grid puzzles).

Version 0.9.0 is the first release candidate. The public long-form API and the ordinary drawing engine are frozen for the planned 1.0 release except for serious defects. It includes the documented Einstein-riddle preset introduced during the 0.8 cycle and the completed author/copyright metadata.

Requirements

  • 2022-06-01 or newer
  • TikZ

The package is regression-tested with pdf, Lua and .

Quick start

\documentclass{article}
\usepackage{integramme}

\begin{document}
\begin{integramme}
  \IntegrammeCategory{person}{Person}{
    alice={Alice},
    bruno={Bruno},
    clara={Clara}
  }
  \IntegrammeCategory{drink}{Drink}{
    tea={Tea},
    coffee={Coffee},
    juice={Juice}
  }
  \IntegrammeCategory{pet}{Pet}{
    cat={Cat},
    dog={Dog},
    rabbit={Rabbit}
  }
  \IntegrammeIndices{%
    \item Alice does not drink tea.
    \item The rabbit owner drinks coffee.
  }
\end{integramme}
\end{document}

See integramme.pdf for the user manual and API.md for the candidate stable public API.

Einstein preset

The classic five-houses puzzle can be produced directly:

\begin{integramme}[preset=einstein,preset-language=fr]
\end{integramme}

Use preset-language=en for English labels and clues, or add mode=solution to print the complete solved grid. The preset is only a convenience data set: it uses the same categories, clue list and solution-row mechanisms as an ordinary user-authored puzzle.

Public API

New documents should use the long-form interface:

  • \integrammeset{...}
  • \begin{integramme}[...] ... \end{integramme}
  • \IntegrammeCategory
  • \IntegrammeIndices
  • \IntegrammeYes / \IntegrammeNo
  • \IntegrammeSolutionRow

Legacy compact solution syntax, slash references and short \Int... aliases remain available for compatibility, but are not part of the candidate stable 1.0 interface.

Building from source

Generate the package file with DocStrip:

latex integramme.ins

The source tree also supports l3build:

l3build unpack
l3build check
l3build doc
l3build ctan

The standard l3build file is named build.lua.

Files

  • integramme.dtx - documented source and user manual
  • integramme.ins - DocStrip installer
  • integramme.pdf - compiled manual
  • integramme.sty - generated development copy (not shipped in the CTAN source archive)
  • build.lua - l3build configuration
  • API.md - candidate stable API contract
  • CHANGELOG.md - release history
  • TESTS.md - regression-test notes
  • LICENSE.md - licensing statement
  • example*.tex - worked/minimal examples, including the Einstein puzzle

The development tree also contains prepublication material (CTAN.md, RELEASE.md, AUDIT.md and support/release-audit.py). These files are for maintainers and are not required by end users.

Current limitations

  • all categories must contain the same number of items;
  • only the staircase layout is implemented;
  • long slanted header labels are not automatically constrained to their own category block;
  • internal identifiers should remain simple and should avoid , and =;
  • the package is still pre-1.0.

Release-candidate status

The technical CTAN layout is generated and checked. Jonathan LAFARGE is the public author, copyright holder and CTAN maintainer. A public repository, bug tracker or support URL may be added later; CTAN exposes these as optional communication channels, so they are not blockers for this release candidate. The uploader email is intentionally not stored in the source tree and can be supplied privately at upload time. See CTAN.md and RELEASE.md.

Authorship and AI assistance

Author and copyright holder: Jonathan LAFARGE. OpenAI ChatGPT was used as an interactive development assistant for code drafting, refactoring, test generation and documentation drafting/revision. The model used for the current development cycle was GPT-5.6 Sol (August 2026). Final design choices, review, testing and release responsibility remain with the human author.

License

This material is subject to the Project Public License 1.3c or later. The work has LPPL maintenance status author-maintained; Jonathan LAFARGE is the copyright holder and public package maintainer.

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

integramme – Typeset staircase logic-grid puzzles (or zebra puzzles)

This is a package for typesetting staircase-style logic-grid puzzles (or zebra puzzles – intégrammes or logigrammes in French).

Authors declare categories, item labels and clues; the package generates the staircase grid automatically. It supports blank puzzles, partially filled grids for worked solutions, and complete solution grids derived from keyed solution rows.

A built-in Einstein-riddle preset is included in English and French.

Packageintegramme
Version0.9.0 2026-08-23
LicensesThe Project Public License 1.3c
Copyright2026 Jonathan LAFARGE
TopicsPuzzle
PGF
Graphics
...
Guest Book Sitemap Contact Contact Author