[tex-k] [comp.text.tex] web2c wish...
28 Feb 2002 01:22:21 +0100
"Tomas G. Rokicki" <rokicki@CS.Stanford.EDU> writes:
> I think that TeX startup time is small enough, and the actual real
> costs of a fork() large enough (with current copy-on-write
> semantics) that just doing a re-TeX should be plenty fast.
It would be worth a try. According to Jonathan Fine, the startup of
plain TeX as compared to the typesetting of short material takes about
200 times longer. Of course, in his TeX daemon approach he does not
fork, but iterate. This has the disadvantage that TeX's state is
influenced by previous runs. Another possibility, of course, would be
to work not by doing a fork, but by saving and restoring the state by
the equivalent of \dump. But implementing this might be quite more
work, and I don't think it would turn out much faster, if at all.
"plenty fast" is of course relative. One application I could think of
that could benefit is calc, a symbolic calculator with RPN syntax
implemented in Emacs (has been integrated into the latest CVS) that
can export formulas as TeX. If one would typeset its stack display
with interactive speed, manipulations would become quite more easier
to oversee than in normal display mode, and the screen estate would be
better made use of than in its Big display mode:
3 q V 3
arccos(---------) - 2 (1 + n1) pi
3 | p 2 p V -p
y + p y + q = 0 => y = 2 | -- cos(---------------------------------)
\| -3 3
Of course, in this particular case the approach by Fine (one
continually running TeX) might be working well enough: one can
guarantee that the generated stream of TeX is such that it does not
substantially change the inner state of TeX.
> The real thing needed in my opinion is to rebuild the links
> from TeX->previewer that were in NextTeX and AmigaTeX, so you
> can view a page as soon as TeX is done with that page and
> not wait for the complete document---and so you don't need
> another keystroke to pop the previewer to front.
The IPC extension does this more or less.
David Kastrup, Kriemhildstr. 15, 44793 Bochum