[comp.text] TeX \special for cross references

lisch@mentor.com (Ray Lischner) (08/05/89)

Since screen previewers for DVI are so common, I think it would be a good
idea to add a couple \special extensions for cross references.  The user
of the previewer would be able to click on part of the screen to jump
to another page and location.  The output of the \special would be
built into the table of contents, index, and reference macros, e.g.,

        See Section~\xref{sec:foo} for details.

and the \xref macro would include

        \special{xref page pos ht dp wd}

where ht, dp, and wd, are the height, depth, and width of the box
in which the user can click to reference.  Presumably, \xref would
just use the size of the box containing the section number, .e.g, {3.42}.
The reference needs to point somewhere; I suggest that a list of
\count<n> numbers to refer to the particular page, e.g., 42 for
\count0==42, \count1==0, etc., and 42.3 for \count1==3, etc.  The
easiest way to mark the position on the page is just to just a label.
Thus, the \label{sec:foo} macro would emit a \special{mark sec:foo}
for the \special{xref 42 sec:foo ...} to find.

I also envision, in addition to \special{xref} is \special{subref},
which is a subreference (see also...).  After viewing a subreference,
the user could pop back to the original location.  One possible way
of implementing this would be to create a new window for the subreference,
so the user can also view the main reference.

So what do you think?  Is it worth doing?  If I'm the only person
to modify my macros and DVI previewers, then not much is accomplished,
but if others think this is a good idea, then maybe we can all agree
on a specific mechanism, to make marked DVI files usable on other systems.
-- 
Internet: lisch@mntgfx.mentor.com     UUCP: tektronix!sequent!mntgfx!lisch

ken@cs.rochester.edu (Ken Yap) (08/06/89)

Why not use a real hypertext system with perhaps TeX as the formatting
engine instead of trying to cobble one up within TeX (too much work
for too little generality)?