grodvi(1)

Name
grodvi - groff output driver for TeX DVI format

Synopsis
grodvi [-dl] [-F dir] [-p paper-format] [-w n] [file ...]

grodvi --help

grodvi -v
grodvi --version

Description
The GNU roff DVI output driver translates the output of troff(1) into TeX DVI format. Normally, grodvi is invoked by groff(1) when the latter is given the “-T dvi” option. (In this installation, ps is the default output device.) Use groff's -P option to pass any options shown above to grodvi. If no file arguments are given, or if file is “-”, grodvi reads the standard input stream. It writes to the standard output stream.

The DVI file generated by grodvi can be interpreted by any correctly written DVI driver. troff drawing primitives are implemented using tpic version 2 specials. If the driver does not support these, \D escape sequences will not produce any output.

Encapsulated PostScript (EPS) files can be easily included; use the PSPIC macro. pspic.tmac is loaded automatically by dvi.tmac. See groff_tmac(5).

The default color used by the \m and \M escape sequences is black. Currently, the stroke color for \D drawing escape sequences is black; fill color values are translated to gray.

In groff, as in AT&T troff, the \N escape sequence can be used to access any glyph in the current font by its position in the corresponding TFM file.

By design, the DVI format doesn't care about the physical dimensions of the output medium. See subsection “Device extension commands” below.

  Typefaces
grodvi supports the standard four styles: R (roman), I (italic), B (bold), and BI (bold-italic). Fonts are grouped into families T and H having members in each style. “CM” abbreviates “Computer Modern”.

    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)

The following fonts are not members of a family.

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

Special fonts include MI (cmmi10), S (cmsy10), EX (cmex10), SC (cmtex10, only for CW), and, perhaps surprisingly, TR, TI, and CW, because TeX places some glyphs in text fonts that troff generally does not. For italic fonts, CWI is used instead of CW.

Finally, the symbol fonts of the American Mathematical Society are available as special fonts SA (msam10) and SB (msbm10). They are not mounted by default.

You can load the ec.tmac macro file to employ the EC and TC fonts instead of CM, which they resemble. They also provide Euro \[Eu] and per mille \[%0] glyphs. Do so before loading localization macro files, because ec.tmac does not set up automatic hyphenation codes.

  Device extension commands
grodvi emits the equivalent to TeX's \special{papersize=width,length} on the first page; dvips (or another DVI driver) then sets the page size accordingly. If either the page width or length is not positive, no papersize special is output.

grodvi supports one device extension, accessed with the groff request device or roff \X escape sequence.

\X'papersize=width,length'
    Set the page dimensions in centimeters to width by length. If the -l option was specified, these dimensions are swapped. Changes to the paper dimensions should occur prior to the first page, or during page ejection before starting a subsequent one.

    Caution: the ordering of dimensions differs from that used by papersize.tmac and troff(1)'s “-d paper” option.

The parameter(s) to device and \X are translated to the same DVI file instructions as would be produced by \special{anything} in TeX; anything cannot contain a newline.

  Font description files
Use tfmtodit(1) to create groff font description files from TFM (TeX font metrics) files. The font description file should contain the following additional directives, which tfmtodit generates automatically.

internalname name
    The name of the TFM file (without the .tfm extension) is name.

checksum n
    The checksum in the TFM file is n.

designsize n
    The design size in the TFM file is n.

  Drawing commands
grodvi supports an additional drawing command.

\D'R dh dv'
    Draw a rule (solid black rectangle) with one corner at the drawing position, and the diagonally opposite corner at the drawing position +(dh,dv), which becomes the new drawing position afterward. This command produces a rule in the DVI file and so can be printed even with a driver that does not support tpic specials, unlike the other \D commands.

Options
--help displays a usage message, while -v and --version show version information; all exit afterward.

-d  Do not use tpic specials to implement drawing commands. Horizontal and vertical lines are implemented by rules. Other drawing commands are ignored.

-F dir
    Prepend directory dir/devname to the search path for font and device description files; name is the name of the device, usually dvi.

-l  Use landscape orientation rather than portrait.

-p paper-format
    Set physical dimensions of output medium, overriding the papersize, paperlength, and paperwidth directives in the DESC file. paper-format can be any argument accepted by the papersize directive; see groff_font(5).

-w n
    Draw rules (lines) with a thickness of n thousandths of an em. The default thickness is 40 (0.04 em).

Exit status
grodvi exits with status 0 on successful operation, status 2 if the program cannot interpret its command-line arguments, and status 1 if it encounters an error during operation.

Environment

GROFF_FONT_PATH
    lists directories in which to search for devdvi, grodvi's directory of device and font description files. See troff(1) and groff_font(5).

Files

/opt/local/share/groff/1.24.1/font/devdvi/DESC
    describes the dvi output device.

/opt/local/share/groff/1.24.1/font/devdvi/F
    describes the font known as F on device dvi.

/opt/local/share/groff/1.24.1/tmac/dvi.tmac
    defines font mappings, special characters, and colors for use with the dvi output device. It is automatically loaded by troffrc when the dvi output device is selected.

/opt/local/share/groff/1.24.1/tmac/ec.tmac
    configures the dvi output device to use the EC and TC font families instead of CM (Computer Modern).

Bugs
DVI files produced by grodvi use a different resolution (57,816 units per inch) from those produced by TeX. Incorrectly written drivers which assume the resolution used by TeX, rather than using the resolution specified in the DVI file, will not work with grodvi.

When using the -d option with boxed tables, vertical and horizontal lines can sometimes protrude by one pixel. This is a consequence of the way TeX requires that the heights and widths of rules be rounded.

See also
“What are the EC fonts?” (https://texfaq.org/FAQ-ECfonts); TeX FAQ: Frequently Asked Question List for TeX

tfmtodit(1), groff(1), troff(1), groff_out(5), groff_font(5), groff_char(7), groff_tmac(5)