63

Most people use TeX and its many varieties to create printed documents, such as reports, books, flyer's, etc. Occasionally, I have found software that uses TeX markup for other purposes, for e.g., the flashcard software, Anki can use TeX to render on-screen flash cards.

  • Beyond producing typical printed documents, what other applications does TeX have?
  • Are there any other software programs which use TeX for other purposes?
5
  • 103
    Is "procrastination" a valid answer?
    – lockstep
    Commented Apr 24, 2012 at 5:12
  • 13
    I once saw a movie where some machine was "programmed in LaTeX". One person said "show us the code of the machine" and then some LaTeX (or plain TeX?) code was visible. Too bad I don't remember the name of the movie / the machine they programmed with LaTeX :)
    – topskip
    Commented Apr 24, 2012 at 7:14
  • 6
    @PatrickGundlach: \@gobble{\ALLHUMANS} ? Commented Apr 24, 2012 at 7:46
  • 16
    @PatrickGundlach: Stealth, one of the biggest flops in cinema history. The AI is supposedly programmed in TeX - maybe Omega? Commented Apr 24, 2012 at 8:45
  • @MartinSchröder awesome, that was it!! Thanks
    – topskip
    Commented Apr 24, 2012 at 9:03

14 Answers 14

51

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!).

43

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! :)

2
  • The whole idea of embracing the interactive possibilities of TeX is really exciting. I could imagine having a single TeX file and upon compiling, the user is asked about papersize, layout and language! Commented Apr 24, 2012 at 14:28
  • 3
    @HenrikHansen That's essentially exactly how makebst works, oh no one has mentioned makebst, I'll add it to my answer Commented Apr 24, 2012 at 14:54
36

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.

21

I would say TikZ (and the other graphics languages too) is something that is used for more than just TeX and print.

Getting the output as a standalone file is not very complex and when that is in place you can start using all the great features from TikZ.

16

Some "crazy" people use TeX as a afm file parser and converter to "virtual fonts". Really impressive. It's called fontinst.

The reason fontinst is so portable is simply that it is written in TEX, exploiting those features of the language which does other things than typesetting.

16

It could be used as part of faxing a movie.

I had a friend who took a (very) short mpeg file, base 64 encoded it, printed it, faxed it, scanned the faxes using OCR software, then decoded the resulting text via a base 64 decoder back into an mpeg file which could be played.

TeX could be used to create the most OCR readable document possible. I don't know how well TeX handles binary files, but you might be able to write the base 64 encoder as well (I don't think that there's a whole lot of logic there).

1
  • 7
    Faxing a movie... wow... is your friend a masochist?
    – LarsH
    Commented Apr 25, 2012 at 3:38
14

Beyond printed media, TeX has taken to the web via MathJax. For an example of its usage, see Math.SE and EE.SE.

2
  • 11
    Mathjax is a javascript library that parses LaTeX and MathML syntax and displays the result nicely even on browsers that do not support MathML. So the relation with TeX is just that it parses LaTeX syntax. MathML does not have any relation with TeX the program or TeX's math syntax.
    – Aditya
    Commented Apr 24, 2012 at 12:14
  • Don't forget Physics.SE
    – User 17670
    Commented Feb 17, 2013 at 16:31
12

The sudokubundle provides three packages related to Sudoku:

  1. printsudoko which prints a given puzzle;
  2. solvesudoku which attempts to solve a given puzzle;
  3. createsudoku which (randomly) creates and prints a puzzle that solvesudoku can solve.

There are other packages for playing other games, such as Bruno Le Floch's reverxii for Reversi, and for printing games like chess and bridge.

9

Back in the day, it used to be the #1 means to provide math formulas for PowerPoint presentations. I don't know what the math capabilities of PowerPoint are nowadays.

1
  • If you're curious, this video provides an introduction. As far as I am aware (as a Linux+OO.org user), the equation editor is the same throughout all of Office now.
    – new123456
    Commented Apr 24, 2012 at 21:35
8

After scanning a book 2-up, you can use pdfpages and ifthen to split the pages in two and reassemble 1-up.

1
6

Where I work we generate data dictionaries, automated test reports and pretty much every data that is meant to be read by a user as TeX documents, because, unlike HTLM, it supports table of contents, proper formating, etc.

1
  • 1
    I believe that "automated document" is still a "document". I think that many many people do it (including me).
    – yo'
    Commented Apr 25, 2012 at 9:04
5

With the beamer and impressive packages, it's used for presentations, as I've learned :)

5

Some people don't realize that TeX can do math. I read years ago (maybe 2007?) on comp.text.tex that someone was using TeX for the business end of a billing system.

I can't find that post though. Does anyone else remember it?

2
  • I wouldn't advise that. You only have 31-bit integers; emulating floating points or BCD with that is slow. Commented Jan 29, 2013 at 11:46
  • @MartinSchröder you should not need floating point arithmetics for a billing system, a decimal fixed point is better. But I also wouldn't advise it, for readability and maintenance reasons. Commented Aug 3, 2017 at 16:57
3

My most unusual use cases:

  • measuring all the ads for a national phonebook and forcing those which are w/in a reasonable tolerance to the exact size per their database entry, outputting a colour-coded PDF which lists those which are not and their size deviations

  • as the back-end for an ad re-sizing system which allows interactive, asymmetric, re-sizing of advertisements

  • back-end for an ad creation system allowing one to enter/format text, import a graphic, and shift the text and graphic around as desired interactively.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .