# HyperTeX specials

HyperTeX incorporates the HTML language into TeX. These implement HyperJumps within documents created by TeX, to other files in the local machine, or to the outside through the Internet.
The correspondences to <a href="..."> ... </a>, <a name="..."> ... </a> in HTML are implemented by HyperTeX specials:
\special{html:<a href="....">} ... \special{html:</a>}
\special{html:<a name="....">} ... \special{html:</a>}
The LaTeX style file (by Mr. Okumura) for this is shown below.
------------------- myhyper.sty --------------
\def\href<<<<>>>>leavevmode\begingroup \@sanitize \@href}
\def\@href#1{special{html:<a href="#1">}\endgroup \@@href}
\def\@@href#1{#1\special{html:</a>>>>>{<<<<
\def\base{leavevmode\begingroup \@sanitize \@base}
\def\@base#1{special{html:<base href="#1">}\endgroup}
\def\img{leavevmode\begingroup \@sanitize \@img}
\def\@img#1{special{html:<img src="#1">}\endgroup}
\def\name{leavevmode\begingroup \@sanitize \@name}
\def\@name#1{special{html:<a name="#1">}\endgroup \@@name}
\def\@@name#1{#1\special{html:</a>>>>>{<<<<
-------------------------------------------
Since the "#" used in HTML has special meaning in TeX, the style file like the above is prepared.
Since only the last \name should only put a simple string in the argument, the following might be also acceptable.
\def\name#1#2{leavevmode\special{html:<a name="#1">}#2\special{html:</a>>>>>{<<<<
For the HyperTeX implementation, the only four macros above would be enough.
Here are some examples:
dviout for Windows supports the HyperTeX specials of <a href=...>, <a name=...>, and </a>.
Click \href{#foo}{here}
......
Jump to \name{foo}{here}
Obtain the latest version of dviout for Windows from
\href{http://akagi.ms.u-tokyo.ac.jp/ftp-j.html#TeX}{here}
dviout corresponds to
moving to \href{file:.\hypertex\hyper2.dvi#jump}{other dvi file}
where is based on the directory containing the displayed document,
displaying \href{file:\index.html}{HTML file}
and accessing other resource, for example, \href{file:MyMovie.avi}{AVI file}
Remark 1. To execute a local program with an extension .exe, .com, .cmd or .bat, one can give the parameters to the program by indicating them following to ^s. For example,
\special{html:<a href="file:notepad.exe^sreadme.txt">} ... \special{html:</a>}
Remark 2. dviout specials is supported in HyperTeX by
\special{html:<a href="dviout:macro">} ... \special{html:</a>}