# 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/`](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/`](doc/edit/).

## License

See [`LICENSE.md`](LICENSE.md).
