 The HyperTeX project Arthur Smith   (edited by Sebastian Rahtz)    INTRODUCTION  F The past year has seen a revolution in the processes of Internet-basedC information navigation and retrieval with the advent of easy-to-use E graphical browsers (in particular Mosaic) based on the World-Wide-Web ? (WWW). The revolution is a result of two components. First, the F browsers allow a near-uniform (point-and-click or other method) accessD to documents in almost any format and from almost any Internet-basedF source; along with this the Universal Resource Locator (URL) mechanismD provides a surprisingly easy and uniform way to specify the locationD of any document on the net. Second, for certain classes of documentsD (html files, or gopher text files) embedded URL's or other addressesB are understood to refer to other, external, documents which can be= followed according to the interests of the person viewing the 7 document, producing an interconnected web of documents.   ? The goal of the HyperTeX collaboration is to extend this second @ privileged class of documents to include documents based on TeX,F the word-processing language of choice for mathematical and scientificC writing, thus fully incorporating TeX documents into the burgeoning 9 textbf{web} of information on the internet.  The HyperTeX : introductory document is at http://xxx.lanl.gov/hypertex/.   HOW DOES IT WORK?   C The underlying element of our implementation of HyperTeX is the use ? of a TeX macro that bypasses the TeX interpretation process and B sends a message directly to the dvi interpreter that processes TeXI output, via the special command. The original HyperTeX specification (due ? to Paul Ginsparg, Tanmoy Bhattacharya, and me) uses the initial < characters html: to denote HyperTeX elements in an HTML-likeE style. After the initial html: string, the specification is identical A to a restricted form of HTML. The five arguments we have added to  the command are:  # href: html:<a href = "href_string"> # name: html:<a name = "name_string">  end: html:</a>% image: html:<img src = "href_string"> + base_name: html:<base href = "href_string">   B The href, name and end commands are used to do the basic hypertextC operations of establishing links between sections of documents. The F image command is intended (as with current html viewers) to eventually? place an image of arbitrary graphical format on the page in the B current location. Currently for XHDVI, image brings up an externalC viewer with the image, if such a viewer is available. The base_name F command should be used to communicate to the dvi viewer the full (URL)D location of the current document so that files specified by relative! URL's may be retrieved correctly.   F The href and name commands must be paired with an end command later inE the TeX file --- the TeX commands between the two ends of a pair form E an anchor in the document. In the case of an href command, the anchor F is to be highlighted in the dvi viewer, and when clicked on will causeC the scene to shift to the destination specified by href_string. The D anchor associated with a name command represents a possible locationD to which other hypertext links may refer, either as local references= (of the form texttt{href="#name_string"} with the name_string E identical to the one in the name command) or as part of a URL (of the ? form URL#name_string). Here href_string is a valid URL or local B identifier, while name_string could be any string at all: the onlyD caveat is that `"' characters should be escaped with a backslash (),6 and if it looks like a URL name it may cause problems.  D Because this html-based naming scheme is somewhat unwieldy, althoughC very general, Tanmoy Bhattacharya (tanmoy@qcd.lanl.gov) has written C several collections of TeX macros to simplify things.  The packages C are in http://nqcd.lanl.gov/people/tanmoy/hypertex/. An alternative F LaTeXe package is hyperref, by Sebastian Rahtz and Yannis Haralambous, which is available on CTAN as @ pathmacros/latex/contrib/supported/hyperref. This has additional$ functionality for conversion to PDF.   HOW DO I USE IT?  > There are currently three dvi interpreters that understand the> HyperTeX specials: XHDVI{} for X windows, HyperTeXView.app forB NextStep, and dvihps, a version of dvips that understands HyperTeX@ and puts pdfmark commands in the output for Adobe's Distiller toA process.  For a TeX document that has already been processed to a B dvi file with HyperTeX elements, viewing the internal hypertext is9 almost trivial --- you just fire up the dvi previewer and  navigate by button clicks.   The software available is:  B 1. A HyperTeX viewer based on xdvi-18, modified by Arthur Smith.  : ftp://snorri.chem.washington.edu/hypertex/xhdvi_0.6.tar.Z   A 2. HyperTeXview.app, courtesy of Dmitri Linde (also the author of F InstantTeX.app) for NextStep, precompiled for Motorola and Intel-basedB NeXT machines. See http://xxx.lanl.gov/hypertex/index.html#dvi for
 availability.   D 3. dvihps, from Mark Doyle, converts the HyperTeX commands to a formF which can be processed by Acrobat Distiller. See the HyperTeX WEB homeD page for location. Other PostScript interpreters are free to pick upE the pdfm operators as well. For instance, Tanmoy has hacked Ghostview @ to pick up the links and make them active.  This can be found atH http://nqcd.lanl.gov/people/tanmoy/hypertex/ghostview-1.5-hacked.tar.gz.  < Here is where the power of TeX's macro capabilities appears.? A working internal hypertext document can be made from a LaTeX  ? document with a one-line addition to the file, using one of the A hypertex macro packages. These convert the standard LaTeX  markup D into hypertext links between the different sections of the document,? so that references to equations, tables, footnotes, and section ? headings are in place, and bibliographic references and figures 2 refer to the bibliography entry or figure caption.  = The macros developed thus far use standard naming conventions 9 for the underlying structures in LaTeX and other standard 9 macro packages, so that appending #equation.2.3, #page.7, ? #figure.4, #table.2, etc. to the URL for any TeX file processed 8 with these packages will go to the right place, allowing; easy hypertext reference to the internal structure of other 
 documents.   HOW DO I STAY IN CONTACT?     The Hypertex discussion group is= a mailing list based at FTPsnorri.chem.washington.edu which I = maintain. Send me e-mail (asmith@mammoth.chem.washington.edu) E if you want to join the list, or send queries directly to the mailing * list: hypertex@snorri.chem.washington.edu.    