GRODVI(1)

名称
grodvi - groff の出力を TeX の dvi 形式に変換する

書式
grodvi [ -dlv ] [ -wn ] [ -Fdir ] [ -ppapersize ] [ -wn ] [ files... ]

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

解説
grodvi は TeX のdvi形式を出力する groff のドライバです。 通常 groff -Tdvi と実行されます。 これは troff -Tdvi を実行するので、マクロ /usr/share/tmac/dvi.tmac も読み込まれます。

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 に改行が入っていてはいけません。

EPS イメージファイルをインクルードするために、 grodvi は pspic.tmac を自動的にロードし、 PSPIC マクロを提供します。 詳細については groff_tmac(5) を参照してください。

grodvi の用いるフォントファイルは、 tfmtodit(1) によって tfm ファイルから作成できます。 フォント記述ファイルには以下のような追加情報が 含まれていなければなりません: internalname name name は (拡張子 tfm を除いた) tfm ファイル名です。

checksum n
    n は tfm ファイルのチェックサムです。

designsize n
    n は tfm ファイルのデザインサイズです。

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

\m と \M のデフォルト色は黒です。 現在のところ、 \D コマンドの描画色は常に黒であり、充填する色は灰色に変換されます。

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

デザイン的に、DVI フォーマットは出力媒体の物理的な大きさを考慮しません。 代りに grodvi は、TeX の \special{papersize=width,length} と等価なものを最初のページに出力します。 dvips (および他の DVI ドライバ) はこれに従ってページサイズを設定します。 ページ幅もしくはページ長が正でない場合、pagesize スペシャルは出力されません。

オプション

-d  描画コマンドを実現するのに tpic 特殊機能を使いません。 水平・垂直な直線は罫線で実現されます。 他の描画コマンドは無視されます。

-Fdir
    フォントとデバイス記述ファイルの検索パスの前に、ディレクトリ dir/devname を追加します。 name はデバイス名であり、通常 dvi です。

-l  ランドスケープの向きを指定します。

-ppapersize
    紙の大きさを指定します。 これは DESC ファイル中の papersize, paperlength, paperwidth コマンドに優先します。 これは、 papersize コマンド (詳細は groff_font(5) を参照してください) と同じ引数を受け付けます。

-v  バージョン番号を表示します。

-wn デフォルトの線の太さを M の横幅(em)の1000分の n にします。 本オプションを指定しないと、線の太さは 0.04 em になります。

使用例
R, I, B, BI と呼ばれるスタイルが、フォント位置 1 から 4 にマウントされます。 フォントはファミリ T と H にまとめられ、これらのスタイル中にメンバを持ちます:

    TR  CM Roman (cmr10)
    TI
        CM Text Italic (cmti10)
    TB
        CM Bold Extended Roman (cmbx10)
    TBI
        CM Bold Extended Text Italic (cmbxti10)
    HR
        CM Sans Serif (cmss10)
    HI
        CM Slanted Sans Serif (cmssi10)
    HB
        CM Sans Serif Bold Extended (cmssbx10)
    HBI
        CM Slanted Sans Serif Bold Extended (cmssbxo10)

ファミリのメンバではない以下のフォントもあります:

    CW  CM Typewriter Text (cmtt10)
    CWI
        CM Italic Typewriter Text (cmitt10)

特殊フォントには MI (cmmi10), S (cmsy10), EX (cmex10), SC (cmtex10 は CW 用のみ) が含まれ、 TR, TI, CW もおそらく驚くことでしょうが テキストフォントのフォントエンコードが異なるために含まれます。 イタリックフォント CWI は CW の代りに使用されます。

最後に、American Mathematical Society のシンボルフォントが 特殊フォント SA (msam10) と SB (msbm10) として使用可能です。 これらの 2 個のフォントはデフォルトではマウントされません。

オプション -mec (ファイル ec.tmac をロード) を使うことで、EC と TC のフォントを使用可能です。 EC ファミリのデザインは、CM フォントのものと非常に似ています。 こちらは更に groff シンボルをより良くカバーしています。 言語固有ファイルの前に、 ec.tmac を呼ぶ必要があることに注意してください。 このファイルは hcode 値を気にしません。

関連ファイル

/usr/share/groff_font/devdvi/DESC
    デバイス記述ファイルです。

/usr/share/groff_font/devdvi/F
    F というフォントに対する記述ファイルです。

/usr/share/tmac/dvi.tmac
    grodvi と共に使われるマクロです。

/usr/share/tmac/ec.tmac
    EC フォントへ切り替えるためのマクロです。

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

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

関連項目
tfmtodit(1), groff(1), troff(1), groff_out(5), groff_font(5), groff_char(7), groff_tmac(5)