I just stumbled on this blog post about
rubber and was thinking: "Isn't that exactly what
latexmk does?". So, now I wonder: isn't it? Or are there any differences?
Unfortunately, rubber does not seem to be really maintained anymore; the latest stable version 1.1 was released in 2006, and the more recent "development version" is unusable.
That's the main reason why I tried to switch from rubber to latexmk. However, it seems that the rubber has the following features that are not (yet?) offered by latexmk:
Of course many of these issues can be worked around with some wrapper scripts and auxiliary files. And obviously there are many features of latexmk that are not offered by rubber.
Latexmk also brings an auto-preview feature, which recompiles (smartly) the pdf as soon as the tex is saved.
There are also more advanced features, like tight integration with makefiles for example.
One important advantage of latexmk over rubber is that latexmk detects dependent files much more reliably. As best as I have been able to work out, rubber determines the dependent files by parsing the tex file, by looking for
rubber won't detect that
Latexmk instead parses the log file and uses the