# DVIファイルへの埋め込み

1. dviout の操作やパラメータの変更を dviout specials によって dvi ファイルに埋め込むことができます。もとのTeXファイルの行位置の情報は、source specials で埋め込めます。またプレゼンテーション・モード用には pause special があります。
2. dviout は、独自の拡張DVIファイルをサポートし、それによって任意のファイルをDVIファイルに埋め込むことが出来ます。埋め込みや取り出しには付属の dviadd.exe を使用します。
2.1. dviout の初期化を行う dviout specials の \special{dviout `initialize ... } の ... の部分のみをinitial.parというファイルに書いて（複数の指定は改行で区切る） 埋め込むと、diout 起動時の初期化がこれに基づいてなされます。但し、# で始まる行は無視されます。たとえば
# This is a test.
`keep TEXPK
+TEXPK=^F/^s.tfm; -y=A4L
などのように書きます。ただし、#rem で始まる行があると、#endで始まる行が見つかるまで（無ければ最後まで）無視されます。
2.2. Font/Image Embedding機能により、DVIファイルで使われるフォントや画像ファイルを、自動的にDVIファイルに埋め込んでおくことができます。埋め込まれたものは dviout で自動認識されます。
2.3. 通常のdviwareは埋め込まれたものを認識せずに無視しますが、dviout は対応するspecialsによって取り込まれる画像データファイルやHyperTeXの<a href="file:...">で指されるターゲットファイル、あるいは-TEXPK:の^F/で指定されるフォントとして用いることができます。
そのほか、-ftt: など dviout が参照するファイルも、ファイル名の前に^F/をつけて指定することによって埋め込んだものを利用できます。
たとえば、foo.dvi が LaTeX2e の graphics package を使って
\usepackage{graphicx}
...
\includegraphics*[height=6cm]{myfig.ps}
としてmyfig.psを読み込んでいるとき
dviadd myfig.ps foo
とすると、foo.dvi に myfig.ps が埋め込まれます。この foo.dvi は myfig.ps 無しに dviout で直接扱えます。
表示中のDVIファイルに埋め込まれたファイルがあれば、その情報は Help->Information, Buffer Info. で示されます。
他のOSでもソースファイルdviadd.cをコンパイルすればdviaddコマンドが使えるので、dviwareの実行前に埋め込まれたファイルをdviaddで取り出すように設定しておくと、dvioutと同様に拡張DVIファイルを扱えます。
注意: tar形式のファイルを使うことによっても、同様のことが可能です。さらに gzip -d ... がサポートされていれば、これらを gzip によって圧縮したファイル（拡張子は末尾に .gz を付加したもの）を扱えます。