For the designer building a target: the klammers that cover it, those that do so with an empty definition (a decision that the klammer has no meaning there), and the undecided ones (no definition). One klammer per line, alphabetical; "all" adds the explanations; an unknown word names the missing target. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
61 lines
2.5 KiB
Markdown
61 lines
2.5 KiB
Markdown
# 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`
|
|
- Windows, from source (native) — `doc/install/windows_source_install.md`
|
|
- Windows, Linux inside WSL — `doc/install/windows_wsl_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).
|
|
|
|
## Working with an AI assistant
|
|
|
|
If you use a language model to help write Klammertext, give it
|
|
[`doc/klammertext_for_llm.md`](doc/klammertext_for_llm.md). It is a dense
|
|
reference written for a model rather than a person: the syntax, the things a
|
|
model is most likely to assume wrongly about it (Klammertext is not LaTeX,
|
|
Markdown, or Lisp, and reads oddly if you expect any of them), and how to ask
|
|
the `kdesc` and `kdiag` commands for the current state of the machine instead
|
|
of guessing.
|
|
|
|
## 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/`](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 `931ea5490a5d`.
|
|
|
|
## License
|
|
|
|
See [`LICENSE.md`](LICENSE.md).
|