grodvi(1) groff の出力を TeX の dvi 形式に変換する

書式

grodvi [ -dv ] [ -wn ] [ -Fdir ] [ files... ]

コマンドラインオプションとパラメータの間に、空白を置くことが可能です。

解説

grodvi は TeX のdvi形式を出力する groff のドライバで、通常 groff -Tdvi と実行されます。 これは troff -Tdvi を実行するので、マクロ /usr/share/tmac/dvi.tmac も読み込まれますし、入力が eqn によって前処理されていれば /usr/share/groff_font/devdvi/eqnchar も読み込まれます。

grodvi によって生成された dvi ファイルは、正しく設計された どのような dvi ドライバででも表示できます。troff の基本的な 描画機能は、tpic バージョン 2 の特殊機能(special)を用いて実装されています。 dvi ドライバがこれらをサポートしていない場合は、 \D コマンドは何も出力しません。

troff のものに加え、描画コマンドとして次のものが利用可能です:

\D'R dh dv'
現在の位置と、現在の位置 +(dh,dv) とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の 現在位置は、対角点となります。これは dvi ファイル内に 罫線を出力するため、他の \D コマンドと異なり、たとえドライバが tpic の特殊機能に対応して いなくとも印刷することができます。

\X'anything' という groff のコマンドは、 TeX で \special{anything} と記述した時と同様の dvi ファイル中コマンドに変換されます。 anything に改行が入っていてはいけません。

grodvi の用いるフォントファイルは、 tfmtodit(1) によって tfm ファイルから作成できます。 フォント記述ファイルには以下のような追加情報が 含まれていなければなりません: u+2n

internalname name name は (拡張子 tfm を除いた) tfm ファイル名です。
checksum n
n は tfm ファイルのチェックサムです。
designsize n
n は tfm ファイルのデザインサイズです。

これらは tfmtodit によって自動生成されます。

troff では、エスケープシーケンス \N で指定することによって、対応する位置にある tfm ファイル内の文字を参照できます。 このようにして tfm ファイルの全ての文字を参照可能です。

オプション

-d
描画コマンドを実現するのに tpic 特殊機能を使いません。 水平・垂直な直線は罫線で実現されますが、他の描画コマンドは 無視されます。
-v
バージョン番号を表示します。
-wn
デフォルトの線の太さを M の横幅(em)の1000分の n にします。
-Fdir
フォントとデバイス記述ファイルの検索パスの前に、ディレクトリ dir/devdvi を追加します。

関連ファイル

/usr/share/groff_font/devdvi/DESC
デバイス記述ファイルです。
/usr/share/groff_font/devdvi/F
F というフォントに対する記述ファイルです。
/usr/share/tmac/dvi.tmac
grodvi と共に使われるマクロです。

バグ

grodvi によって生成される dvi ファイルは、 TeX によって生成されるものとは解像度が異なっています(1インチにつき57816単位)。 このため、dvi ファイルに指定されている解像度を参照せずに TeX で使われている解像度を想定しているような、正しく設計されていない ドライバは、grodvi ではうまく動作しません。

箱状の表に対して -d オプションを使った場合、時に水平・垂直な直線が 1 ピクセル 突き出てしまうことがあります。これは TeX の指定する方法で 罫線の縦横の長さを丸めているためです。