[Mac OS X TeX] OS X wish list, based on NeXTStep TeX system

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[Mac OS X TeX] OS X wish list, based on NeXTStep TeX system

Steve Frank

Wish list for OS X, based on experience with NeXTStep/OpenStep

Four components to a good TeX system:

1.  Basic binaries and support files. I think teTeX is best.  Very powerful,
easy to upgrade and maintain once one understands basic structure,
standardized and widely supported.  Easy to move to new systems.  It would
be easy to provide a front-end to support novices if that were a goal for a
commercial application.

2.  Preview.  

Must be able to preview graphics at full resolution, either by pdf
previewing or by epstopdf conversion.

Mouse click-drag on window allows movement of view within window, similar to
hand tool of many drawing programs.

Mouse click returns coordinates of click in separate window and distance in
terms of x and y displacements relative to previous click.  Allows easy
measurement.  Units can be switched among points, picas, centimeters,
inches, and postscript units.

Type page number to move to that page.

Popup list of standard magnifications.

Update in place when rerunning TeX.  On NeXTStep, preview window remains
stationary when running TeX on document.  When the visible page number in
the previewer completes in TeX, the page is automatically updated in the
previewer.  Thus, if the document is 300 pages and the previewer shows page
10, the page 10 is updated as soon as that page completes in the TeX run, no
need to wait for the full run to complete and then reopen or update the
preview window.  

Update in place requires interprocess communication to notify and update
display or else a single integrated application.  Interprocess communication
is better because it allows one to use other components for editing and
project management and separates out the previewer as a distinct module that
can be fully integrated by message passing.

3.  Project manager.  TeX projects can be fairly complicated, with a
hierarchy of related text, macro, graphics, bibliography, and index files.
One needs TeX, BibTeX, makeindex, spell check, multi-file find, etc.  Also,
when TeX runs, the system should present a list of warnings and errors that
can be clicked on to move directly to the appropriate line in the text.
Similar action should be available for multi-file find, with a list of
clickable matches.

There was a program, TeXmenu, that ran under NeXTStep/OpenStep, written by
Harald Schlangmann.  This program provided spectacular project management
and integration with the previewer and editor.  When one adds a TeX root
file for a project, TeXmenu parsed all input files, bibliographies and
included graphics and presented a hierarchical view of the project.  The
project can be reparsed at any time as it changes.  The browser could
include many distinct projects arranged into separate project groups, so it
was easy to keep all TeX projects in one place.

I will send two screen shots and the TeXmenu documentation in the next
message.  Note the console panel that shows output from TeX runs, BibTeX,
etc.  The Watcher shows the list of warnings and errors, each entry can be
clicked to move to appropriate line of the text file.  The multi-file find
also provides a clickable list of matches.  There are many other nice
touches that make the whole thing work very smoothly.

In typical use, I would work on a particular file within a project.  To
start TeX and preview, I type in the editor a command key sequence, which
automatically starts TeX via the console in TeXmenu and runs TeX on the root
file of the associated project.  TeXmenu notifies the previewer when the
current page visible the previewer has been updated and this happens
immediately before the full TeX run has completed.  The previewer then
immediately redisplays the current page.  It is possible to control various
aspects of this communication, but that is the basic operation. Thus, the
project manager is invisible glue that serves as a communication hub when
working on a particular file in the editor and viewing output in the

[I think the previewer immediately does a dvips only on the visible page and
then displays that postscript page, in general, doing a dvips on demand as
one moves from page to page.]

4.  Editor.  People prefer different editors for different reasons.  The
best solution is to have good interprocess communication among the
previewer, project manager, and editor.  One can then use any editor that
can handle basic communication with other applications.

I know that many editors can be programmed to handle aspects of project
management, but that is rarely satisfactory.  TeXmenu shows how a good
project manager sits between the editor and other functions such as
previewing, file management, program control, error control, etc.

To UNSUBSCRIBE, send email to <[hidden email]> with
"unsubscribe macosx-tex" (no quotes) in the body.
For additional HELP, send email to <[hidden email]> with
"help" (no quotes) in the body.
This list is not moderated, and I am not responsible for
messages posted by third parties.