Preprocessor for the knowledge LaTeX package.
This is a proof of concept, do not use it.
An example document can be found in examples/
along
with a Makefile to generate a document called main.pdf
.
- LSP support via https://github.com/openlawlibrary/pygls
- Strongly terminating
- Lexical scoping by default
- Contexts ร la React (dynamic scoping)
- Hooks for
custom DSL
languages, that are left un-interpreted - A math mode as a custom DSL
Given a valid document, you can simply run
kwpp my_document
To get the corresponding LaTeX output.
In practise, this is intended to be used in a workflow using a Makefile, or the specific input triggers from latexmk.
Using virtualenv and the --editable
option from pip3
allows for an easy
setup of a development environment that will match a future user install without
the hassle.
For bash and Zsh users
virtualenv -p python3 kw-devel
source ./kw-devel/bin/activate
pip3 install --editable .
For fish users
virtualenv -p python3 kw-devel
source ./kw-devel/bin/activate.fish
pip3 install --editable .