Directory macros/generic/gates
This is the README file for the Gates package. Author: Paul Isambert. E-mail: zappathustra AT free DOT fr Comments and suggestions are welcome. Date: May 2012. Version: 0.2. Gates helps writing code in a modular fashion: macros are broken into small chunks with names, which can be externally controlled and/or augmented with new ones. Code thus written can be easily modified. Gates is implemented independantly for both TeX and Lua; the former requires the texapi package, while the latter can run with any Lua interpreter (not just LuaTeX). The files in this distribution are: gates.tex - TeX implementation gates.sty - wrapper for LaTeX t-gates.tex - wrapper for LaTeX gates.lua - Lua implementation gates-doc.tex - master file for the doc gates-doc.txt - text of the doc (readable in a text editor) gates-doc.pdf - typeset doc Licensing of this package is covered by LPPL.
Download the contents of this package in one zip archive (209.9k).
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.
Package | gates |
Version | 0.2 |
Licenses | The LaTeX Project Public License |
Maintainer | Yuri Robbers Paul Isambert (inactive) |
Contained in | TeX Live as gates MiKTeX as gates |
Topics | Macro support |