[OS X TeX] Skim SKAutoReloadFileUpdate
Adam R. Maxwell
amaxwell at mac.com
Thu Dec 18 10:30:05 EST 2008
On Dec 18, 2008, at 6:20 AM, Adam M. Goldstein wrote:
> OK, another question---how is what TeXShop does any different, and
> is there a difference between using it as an "external viewer" or as
> the source editor and viewer?
Yes, there is a difference.
> If the TS user pushes "typeset," does this provide the PDF viewer
> with information about when the typesetting process begins and so
> the viewer can wait to reload until it's ready?
TS runs an external process to typeset your document, so it knows when
that call is finished, and when it should open/reload the PDF.
TextMate uses a similar approach, since it launches the TeX process
(es) on your behalf. If that succeeds, it tells Skim (using Python):
os.system("/usr/bin/osascript -e " + """'tell application "Skim" to
revert (documents whose path is %s)' """%pdfPath)
...and does something similar for other viewers. This is trivial with
a shell script or makefile approach.
> But then if I use (say) emacs as my editor and TeXShop as a viewer,
> presumably the TeXShop PDF viewer doesn't have the information.
Correct. I just looked at the TS source, and TS evidently uses a one
second timer to poll for changes, then attempts to load the file when
it might be done. Skim uses a kqueue to get notified that a file has
changed, then reads the last few bytes of the PDF to see if it has a
trailer yet (Mike McCracken's suggestion in the thread I linked to
> I have never had a problem with either the TS viewer or Skim in the
> reloading department.
Ever seen Skim reload the PDF twice during a pdflatex/bibtex/pdflatex/
pdflatex sequence? That's the performance side of the problem, since
it's not cheap to reload. Whether it's a problem in other respects
will depend on the speed of your machine and size of your document;
there is still a window for the race condition, but it's smaller (so
it'll possibly "work" most of the time, but there's no guarantee).
I believe that it's a design flaw to have this feature in a PDF
viewer, plain and simple, and people's expectations are based on other
formats. IIRC DVI and PostScript can be read/displayed as the file is
being created, whereas PDF needs the entire file written to disk
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 2415 bytes
Desc: not available
More information about the MacOSX-TeX