Two development changes since the last snapshot. perf(build): com/Makefile's recursive $(MAKE) commands inherited no jobserver, so kdiag, kdesc and ktext linked one after another even though they are independent links against the already-built library. A clean rebuild drops from 27.9 s to 23.1 s on an i9-14900KF and from 16.4 s to 13.8 s on an M5 Pro. fix(list): LaTeX's built-in enumerate and itemize stop at four levels, so a deeper @ol or @ul failed with "Too deeply nested". sks/list/sty/list.sty now redefines both through enumitem to allow nine, with explicit per-level itemize markers, since \renewlist discards the built-in ones. (from dev 15b822f06ee0) Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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
Editing support for Emacs, Sublime Text, Vim, and Visual Studio Code —
syntax highlighting, delimiter matching, structural reindentation, table
alignment, diagnostics — is in doc/edit/, together with the
shared implementation and the Klammertext language server they build on.
Provenance
This repository is a curated snapshot of Klammertext's private development tree, assembled by a manifest-driven script. Its history is a series of release snapshots, not a mirror of the development history, and files here are regenerated on each release — patches cannot be merged directly. Report problems (or send patches) to the author; accepted changes are applied to the development tree and appear in a following snapshot.
This snapshot was assembled from development commit 15b822f06ee0.
License
See LICENSE.md.