\documentstyle[a4j, myhyper]{jarticle}
\title{dviout for Windows\\
and\\
Hyper\TeX}
\author{SHIMA}
\date{1997年 3月 12\name{date}{日}}
\begin{document}
\maketitle
\section{はじめに}
MS-DOSにおける\TeX のデバイスドライバdviout/dviprtは、多くの人の協力により、
高速かつ高機能なものに成長し、MS-DOSにおける\TeX の標準的なデバイス
ドライバとして、広く日本で用いられるようになりました。
MS-DOSが既に過去のものとなりつつある現在、dvioutをより新しいOS上に移植しよう
という計画が1996年6月にスタートしました。
32bit化をまず行い、djgpp版のdviprtやUNIX(SUN OS 4.1.3, FreeBSD etc.)上での
dviprtが作成されました。
その後、乙部氏の協力を得て、Windows95/NT版のdviout(dviprtの機能を含む)の
作成に取り掛かり、幾つかのテスト版を経て、最初の公開版 Ver.3.0 となりました。
WindowsのGUI(Graphical User Interface)を取り入れ、さらに以下の新しい機能に
対応しています。
\begin{itemize}
\item Hyper\TeX
\item 文字列サーチ機能
\item ルーペ機能
\item ヘルプシステム
\end{itemize}
特に Hyper\TeX\ は、インターネット時代の将来の\TeX として注目に値し、
Windows版dvioutを作成する大きな動機の一つとなったものです。
\section{\name{hyperTeX}{Hyper\TeX}}
Hyper\TeX は、\TeX に HTML(Hyper Text Markup Language)の Hyper Jumpの機能(他の資源へのリンク情報とリンクのターゲットとしての情報)を付加したもので、Hyper\TeX \ specialsによって実現されます。
dviout は Hyper\TeX\ specialsを解し、内部へのジャンプや、ローカルな他のdviファイルへのジャンプを実行するとともに、それ以外の資源へのリンクをWWW browserを呼ぶことにより、実現しています。
\medskip
例1:Windows版dvioutの元になった MS-DOS版の \href{#version}{Version番号}は?
---上の行の色の変わった部分を、マウスの左ボタンでクリックしてみてください---
$$
2.33\quad\quad 2.43.1 \quad\quad 2.43.2\name{version}{\quad}\quad 2.43.3\quad\quad 2.43.4
$$
\medskip
例2: この文章が書かれた\href{#date}{日}は?
\medskip
他のページへのジャンプから戻るのには、Jump $\rightarrow$ Latter History または、
ツールバーの左向き矢印ボタン(ツールバーに、これが表示されていないときは、View
$\rightarrow$ Change Tool Buttons をクリックする)を押します。
URL(Universal Resource Locator)が指定された文字列を、どのような色付けで表示するか(デフォルトは青の下線付きの青文字で表示)、はdvioutの\href{#prop.sheet}{プロパティーシート}\footnote{\name{prop.sheet}{Option} $\rightarrow$ Setup parameters$\ldots$}のHyper\TeX のページで指定できます。
また、foo.dvi という Hyper\TeX\ speiclas を含む dviファイルのアンカー(HTML文書や、Hyper\TeX の文書からリンクを張るときの目印)のラベル名に、Chapter1 というものがあるとすると
\begin{verbatim}
dviout foo #Chapter1
\end{verbatim}
とすることにより、foo.dvi の表示をそのアンカーが打たれた場所から始めることができます。
\section{Hyper\TeX\ specials}
付属の{\tt myhyper.sty}を用いた場合
\begin{verbatim}
If you click \href{#foo}{here}, you will jump to \name{foo}{this} place.
\end{verbatim}
と書くと、
\medskip
If you click \href{#foo}{here}, you will jump \name{foo}{this} place.
\medskip
\noindent
となります。HTMLでは
\begin{verbatim}
If you click here, you will jump to this
place.
\end{verbatim}
に対応します。
{\tt myhyper.sty} では、これらのマクロは以下のように定義されてます。
\begin{verbatim}
\def\href{\leavevmode\begingroup \@sanitize \@href}
\def\@href#1{\special{html:}\endgroup \@@href}
\def\@@href#1{#1\special{html:}}
\def\name{\leavevmode\begingroup \@sanitize \@name}
\def\@name#1{\special{html:}\endgroup \@@name}
\def\@@name#1{#1\special{html:}}
\end{verbatim}
HTMLで使われる \# が、\TeX では特殊な意味を持ってしまうので、上のような
定義をしています。
\section{WWW Browserとの連携}
WWW Browserとしてインターネットエクスプローラがインストールされていて、
それを呼び出すとインターネットにアクセス出来る状況になっているとしま
しょう。
また、拡張子{\tt dvi}を持つファイルは、dviout.exe に関連づけられている
とします(エクスプローラの表示 $\rightarrow$ オプション $\rightarrow$ ファイル
タイプで指定できます。このとき、dviファイルに、適当なアイコンを定義できま
す)。
上記の設定で、WWW Browserから dviファイルをアクセスすると、表示は自動的に
dvioutで行われます。
WWW Browserがサポートしている各種資源へのジャンプを、Hyper\TeX\ special
として書くことができ、dvioutは、必要なら WWW Browser を呼び出して処理
することが出来ます。たとえば、
\begin{verbatim}
\href{http://akagi.ms.u-tokyo.ac.jp/ftp-j.html#TeX}{ここ}からdvioutの最新情報
が得られます。
\end{verbatim}
は、
\medskip
\noindent
\href{http://akagi.ms.u-tokyo.ac.jp/ftp-j.html#TeX}{ここ}からdvioutの最新情報が
得られます。
\medskip
\noindent
となります。勿論
\begin{verbatim}
\href{ftp://akagi.ms.u-tokyo.ac.jp/}{ここ}からanonymous ftpできます。
\end{verbatim}
なども可能で、これは
\medskip
\noindent
\href{ftp://akagi.ms.u-tokyo.ac.jp/}{ここ}からanonymous ftpできます。
\medskip
\noindent
となります。インターネットにアクセス可能ならば、マウスの左ボタンのクリック
により、実際にこれらの資源にアクセスできます。
外部の資源へのアクセスの場合は、デフォルトでは、それを実行するかどうかを尋ね
るダイアログボックスが表示されます。プロパティーシートのHyper\TeX での設定で、
これを省略することができます。逆に、{\tt CTRL}を押しながらマウスの左ボタンを
クリックした場合は、内部へのジャンプでもこのダイアログボックスが表示されます。
\medskip
飛び先が dviファイルであれば、再び dviout に戻ってきます。ですから
WWWサイトにHyper\TeX で作成したdviファイルを置いておけば、それらの間で
相互参照が可能になります。
\medskip
なお、このファイルから、同じドライブにある dvi ファイルへの相対ジャンプは、
WWW Browser を経由せずに、直接 dviout が処理します。たとえば、
\href{file:hyper2.dvi#jump}{hyper2.dvi}\name{jump}{}
にジャンプできます。
\end{document}