l2t: literate programming utility

l2t (formerly known as LiSP2TeX) is a literate programming utility that allows easy insertions of program source snippets towards TeX files. The originality of l2t is that it extracts definitions from the files where they appear and wraps them appropriately within TeX macros for insertion into documentation files. l2t decorrelates writing documentation from programming: it is therefore possible to separately develop programs and documentations and to merge them at the end to produce up to date final documents. l2t also has some pretty-printing capabilities (for Scheme definitions only) to produce denotations full of greek letters. l2t has been used since 1991.

Sources and documentation

The source files of l2t are available.

[Picture o' Penguin by Larry Ewing] You may also directly find the RPM binary package for PC powered by Linux.

You may also directly browse the documentation of l2t produced by l2t itself and full of eye-opening examples.

Final words

Since 1990, all my books and papers containing denotations have been produced with l2t. Other examples are: Luc Moreau's TAPSOFT95 paper and, for instance, TPPP94 .

Many examples of use of l2t appear in the documentation of l2t.


Bonus features!

l2t can display S-expressions graphically generating PIC code!

Thanks to Thierry Saura, l2t now knows how to extract ISO C definitions out of C files.

If you customize l2t with slatex.l2t, its output may be processed by SLaTeX, Dorai Sitaram's pretty-printer. A tailored version of SLaTeX for Bigloo is also available for SLatex release 2.4t as well as an rpm package.

l2t may generate TeXinfo. The leading character of directives is now dynamically changeable.

l2t may now use external parsers (written in your favorite language) to extract named entities from whatever file your external parser knows how to parse. A small example for Perl appears in the release.

An interesting contribution from Kirill Lisovsky <lisovsky@acm.org> makes it possible to include the result of an XML query in LaTeX.

Updated by Christian.Queinnec@lip6.fr
$Id: l2t.html,v 1.26 2003/01/22 20:02:23 queinnec Exp $