Andy Kopra 8a2699a253 Typed arguments, calculated tables, spans, closed-world fonts, top-level fnt/ and env/
Sync with klammertext-dev through b90b0e09:

- Argument types end to end: :python_cast values are applied (Python
  @eval receives real bools/numbers/lists), argument values are
  validated against their argtype patterns with the argtype's
  description as the error message, argtypes can declare :default
  (overridable per declaration), and parameterized type families are
  supported: rest(N) casts a rest argument to an N-dimensional list
  (bar-count = dimension).
- Unified indexed_range syntax (selector with parenthesized subsets,
  composable mnemonic names) for table lines and spans.
- Table klammer: caption fonts fixed in both targets, :column_width /
  :leading / :colsep wired, :colspan and :rowspan render (HTML
  attributes; \multicolumn / \multirow), calculated cell values (:calc)
  with prefix operators, display-precision semantics, :calc_format and
  :decimal period|comma.
- Fonts: closed-world resolution on the Klammertext font store
  (infrastructure in mac/font_store; no Google Fonts links or fetch).
  Default fonts live in the top-level fnt/; additional fonts install
  into KLAMMERTEXT_FONTS directories via kdesc --font (list, samples,
  preview, install — classification by font metadata).  CSS font family
  names are quoted (digit-initial families were silently lost).
- Environment files moved from mac/env/ to the top-level env/; shell
  profiles source env/runtime.env.  Dead per-host variants removed.
- Container: fnt/ ships in the image; curl removed (no network use).
2026-07-22 18:17:43 +02:00

Klammertext

Klammertext is a markup language that produces multiple output formats — HTML, LaTeX/PDF, and plain text — from a single source description. Its core engine, the Klammermachine, is written in C++; the Standard Klammer Set (SKS) adds a default library of formatting and document-structuring operators on top.

Installing

Installation guides are in doc/install/:

  • Linux, from source — doc/install/linux_source_install.md
  • macOS, from source — doc/install/macos_source_install.md
  • Linux, container — doc/install/linux_container_install.md
  • macOS, container — doc/install/macos_container_install.md

Building from source

With a C++20 compiler and KLAMMERTEXT_HOME set to this directory:

make -C com

This builds the Klammermachine library (into lib/), the SKS components, and the three commands — ktext, kdesc, kdiag (into bin/). See the source-install guide for prerequisites (TeX Live for PDF output, Python, and so on).

Editor support

Syntax highlighting and editing support for Emacs and Sublime Text are in doc/edit/.

License

See LICENSE.md.

Description
No description provided
Readme 5.1 MiB
Languages
C++ 52%
Python 21%
Shell 14.5%
JavaScript 5.5%
CSS 2.9%
Other 4%