Active TeX

updated 8 September 2003

Active TeX is a forerunner of PyTeX.

Both Active TeX and PyTeX by design avoid the backslash and braces input syntax common to pretty well all flavours of TeX — plain, LaTeX, ConTeXt, etc.

It's not that backslashes (and braces) are bad, but that TeX files are usually somewhat idionsyncratic, and impossible to parse reliably (except by the TeX format they were written for).

Both Active TeX and PyTeX provide a blank sheet of paper on which you can design the input syntax for the files that are to be passed to TeX. Active TeX does this by putting a powerful macro processing layer in-between the input file and the typesetting process. PyTeX does it by using Python instead of TeX macros.

Of course, if you don't like a blank sheet of paper, in time you will find one that has already been drawn upon.

In 1998 Don Knuth made some comments on the proof-of-concept version of Active TeX.


This is a TeX format, based on Active TeX, that contains an SGML parser, written in TeX macros.


Well, if you can't wait, here's some files to download and play with. But please come back later, because there will be more available.

To obtain SGMLbase, download and unzip one of the following:

(If you chose sgmbase.bun, latex the file to ‘unzip’ it.)


You will now need to create the SGMLbase format file. If you've not done something like this before, you may find it a little tricky. In particular, format files have to be stored in a special place, if they are to be visible whatever the current directory. But if you do all your HTMLbase work in a single directory, this will not bother you.

MSDOS and WINDOWS. C:\WORK> tex -i sgmlbase will create sgmlbase.fmt

Unix and Linux. $ initex sgmlbase will create sgmlbase.fmt

Running HTMLbase


SGLMLbase and HTMLbase are stored as the files sgmlbase.tex and htmlbase.tex respectively. The distribution includes a sample HTML document using.html (or using.htm if your file system does not support long names). The distribution also provides a dummy file texput.tex, which is used to supply the default job name.



C:\WORK> tex &sgmlbase -lhtmlbase -ousing.htm using.htm will cause TeX to load htmlbase.tex and then typeset using.htm, generating using.dvi as output.

Unix and Linux

$ tex \&sgmlbase -lhtmlbase -ousing.html using.htm will generate using.dvi exactly as before.

For more information, or to report faults email us