On Aug 5, 2007, at 10:17, Robin Houston wrote:
On 05/08/07, Mark Eli Kalderon eli@markelikalderon.com wrote:
Skim uses some kind of heuristic to figure out when latex is done typesetting. Sometimes this goes wrong, if it takes a long time, and so some of your changes may not be displayed.
This should not go wrong; if you can demonstrate a bug in Skim, please report it.
If Skim is checking for modifications, it uses a kqueue (if the filesystem supports that), or a timer. Since pdflatex truncates the original file and then writes to it, we get many change notifications during that process, but don't attempt to reload the file until it has a valid PDF trailer.
A problem with latexmk is that you can have a valid PDF multiple times during the typeset process, so you end up loading it a couple of times. For some PDF files, this can be pretty slow.
Recent versions of Skim can be explicitly instructed to reload the PDF, using Applescript (tell application "Skim" to revert document "foo.pdf"). So it's no longer necessary to rely on this mechanism.
This is a more sensible approach to take in any case. Only the pdflatex caller has any concrete idea of when the pdflatex process(es) finish and whether they succeeded.