7

A simple question (in theory): is there any (La)TeX distribution for Windows that is capable of running as a daemon? I am not aware that either MiKTeX or TeX Live are capable as running as daemons on Windows, but are there any other solutions? Failing this, if I wanted to hack an existing TeX distribution to run as a daemon, what would be the best approach?

A few features that the daemon should have, ideally:

  • One-time loading.
  • Load the preamble separately, so multiple documents can be generated without reloading the preamble.
  • Run as a Windows Service. (optional)
  • Callable as a library/API. (optional)
  • Input TeX and output DVI/PNG via standard I/O or pipes. (optional)

Any information or suggestions on the subject would be much appreciated.

Edit 1: Specifically, I am also rather curious how the preview-latex package for EMACS works. This seems to have a very similar usage in mind to what I intend.

Edit 2: I've just recalled that the Instant Preview feature of LyX also closely represents what I want to achieve. Additionally, this seems to work on Windows. An explanation/overview of this system and the daemon it uses would be very helpful.

4 Answers 4

6

There is William Blum's LaTeXDaemon:

http://william.famille-blum.org/software/latexdaemon/index.html

It's on Google code as well, but I am only allowed one hyperlink.

It will generate a format for the preamble and re-compile every time the document is saved.

2
  • 1
    Thanks for the suggestion. I've actually looked at this before and it doesn't seem to be a true TeX daemon. It's mainly a file system watcher from what I can tell. It is also mysterious how it "precompiles" the preamble using only a standard MiKTeX distribution.
    – Noldorin
    Aug 5, 2010 at 11:45
  • In response to your other answer: Cheers, that explains half the story. However, doesn't this LaTeXDaemon still have to relaunch the LaTeX program on each run? Where is the preamble preserved in that case?
    – Noldorin
    Aug 5, 2010 at 16:13
6

MathTran runs TeX as a daemon. For macros it runs a secure variant of plain TeX, but with some LaTeX additions, such as \frac. Several years ago it could typeset a single formula in about 10 milliseconds (and so too cheap to be worth caching).

There's an experimental online editor, which gives instant preview (if you have a good internet connection).

To learn more about the technology behind MathTran go to its wiki.

Disclaimer: I'm the developer of MathTran.

3
  • Looks like a pretty nice project there. Judging by the username, it seems you're also a main developer on the TeX Daemon project on SF.net, though this and the (forked?) PyTeX project look to be Linux only - correct me if I'm wrong. What does MathTran use internally? I suppose there's no chance of open-sourcing it? :)
    – Noldorin
    Aug 5, 2010 at 11:58
  • Yes, I'm behind the TeX daemon also. The MathTran site is open-source, but not as easy to get hold of and install as I would like. For technical reasons, the TeX daemon requires Unix style sockets (so that it can make a select()). Aug 5, 2010 at 14:07
  • I see... In that case, do you have any idea what Instant Preview does (for LyX), especially when running on Windows? It seems you're responsible for this project to, judging by a paper written in 2001.
    – Noldorin
    Aug 5, 2010 at 15:03
3

The BaKoMa TeX system has a dynamical preview feature that you might find interesting as well.

3

The "mysterious precompilation" by LaTeXDeamon is done by creating a custom format using mylatex.

2
  • LaTeXDaemon must compile your document again loading of packages and definitions from the preamble are dumped to a format file and is therefore much quicker than if you compile in the tradidtional way. Try making a document (test.tex) that loads TikZ or other huge packages and then create a custom format with mylatex: (one line): pdftex -ini -fmt=mytest -jobname=mytest -progname=pdflatex \&pdflatex mylatex.ltx test.tex this will generate mytest.fmt and you can now compile the document with pdftex -fmt=mytest.fmt test.tex Aug 5, 2010 at 16:39
  • Thanks Martin, that makes things pretty clear to me now. This sort of confirms my view though, that LaTeXDaemon is not a true daemon in that stays running indefinitely and can serve multiple users.
    – Noldorin
    Aug 5, 2010 at 16:54

You must log in to answer this question.

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