In what ways can TeX be used beyond document production?

One, very incredible solution to an ICFP contest was created by Steve Hicks.

He did an amazing job by coding a Mars rover guidance bot.

See: http://sdh33b.blogspot.com/2008/07/icfp-contest-2008.html

He has shared his code and written about it in the above link.

This clearly shows that TeX is not just for typesetting (although it clearly is best at that!).


Let's not forget the amazing reverxii.tex from our great friend Bruno Le Floch. From the documentation:


reverxii - Playing Reversi, in the spirit of xii.tex

The file reverxii.tex is a 938 character long TeX program which lets you play Reversi against your favorite typesetting engine.

Play by running

tex reverxii.tex

in the command line. This will also produce a record of your game as reverxii.dvi.

Typeset the documentation by running

pdflatex reverxii.tex

This is work in progress, all suggestions/comments/bug reports are welcome!


Hats off to Bruno! :)


The docstrip program distributed with LaTeX does not typeset anything, it is used to extract source code (while evaluating boolean guards) from documented sources, and to optionally install them in specified locations.

Another such program distributed with LaTeX is latexbug. latex latexbug interacts with the user to create a draft email of a bug report with several fields filled in accurately with information such as the latex version being used, it is of course written in LaTeX.

makebst is an interactive program written in TeX that queries the user on the desired properties of the bibliography style and then produces a custom bibtex style file to meet the requested specification.

basix is an interpreter for the BASIC language written in TeX.

TeX can also of course solve sudoko.

One other one I forgot to mention xmltex is a namespace aware XML parser written in TeX. It can be used for typesetting documents, but also other things. Its default behaviour is not to typeset anything and just to echo the parse tree to the log file.