gates – Support for writing modular and customisable code
The package provides the means of writing code in a modular fashion: big macros or functions are divided into small chunks (called gates) with names, which can be externally controlled (e.g. they can be disabled, subjected to conditionals, loops...) and/or augmented with new chunks.
Thus complex code may easily be customised without having to rewrite it, or even understand its implementation: the behavior of existing gates can be modified, and new ones can be added, without endangering the whole design. This allows code to be hacked in ways the original authors might have never envisioned.
The gates package is implemented independently for both TeX and Lua. The TeX implementation, running in any current environment, requires the texapi package, whereas the Lua version can be run with any Lua interpreter, not just LuaTeX.
The LaTeX Project Public License
|Contained in||TeX Live as gates|
|MiKTeX as gates|
support for development of (La)TeX macros
Download the contents of this package in one zip archive (209.9k).
Maybe you are interested in the following packages as well.
- fenixpar: One-shot changes to token registers such as \everypar
- multiexpand: Variations on the primitive command \expandafter
- commado: Expandable iteration on comma-separated and filename lists
- balancedquotes: Code balanced quotes according to document language