.. _ADR-01: ADR-01: Typst as the document format ==================================== Context ------- TINO needed a document format that could produce professional, print-ready output while being suitable for automation and accessible to non-technical contributors. The candidates were: - Markdown - reStructuredText - LaTeX - Typst Decision -------- TINO is built around `Typst `_ exclusively, using the official Rust-based compiler — not any third-party TypeScript reimplementation. The Typst CLI is invoked as a subprocess for compilation to PDF and SVG (preview). Consequences ------------ Positive ~~~~~~~~ - | **Typographic control** | Typst produces publication-quality output — page layout, headers and footers, tables, math, citations — without the complexity of LaTeX. - | **Approachable syntax** | The learning curve is shallow enough for the whole team, not just developers. - | **Fast compilation** | Typst's incremental compiler is significantly faster than LaTeX, making live preview practical. - | **Package ecosystem** | `Typst Universe `_ provides reusable templates. | TINO also supports :ref:`local packages ` for templates, corporate design, and much more. - | **AI-friendly target** | Typst's clean, structured syntax makes it a practical output format for language-model-driven document generation (see :ref:`Rationale`). Negative ~~~~~~~~ - | **CLI coupling** | TINO is tightly coupled to the Typst CLI binary — a breaking change in its interface requires a TINO update. - | **No migration path** | Teams already invested in LaTeX or Markdown cannot reuse existing documents without conversion. - | **Younger ecosystem** | Typst is younger than LaTeX. Some specialised packages available in TeX do not yet have equivalents.