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.