PIC2GRAPH(@MAN1EXT@)

NAME
pic2graph - convert a PIC diagram into a cropped image

SYNOPSIS
pic2graph [ -unsafe ] [ -format fmt ] [ -eqn delim ]

DESCRIPTION
Reads a PIC program as input; produces an image file (by default in Portable Network Graphics format) suitable for the Web as output. Also translates @g@eqn(@MAN1EXT@) constructs, so it can be used for generating images of mathematical formulae.

PIC is a rather expressive graphics minilanguage suitable for producing box-and-arrow diagrams of the kind frequently used in technical papers and textbooks. The language is sufficiently flexible to be quite useful for state charts, Petri-net diagrams, flow charts, simple circuit schematics, jumper layouts, and other kinds of illustration involving repetitive uses of simple geometric forms and splines. Because PIC descriptions are procedural and object-based, they are both compact and easy to modify.

The PIC language is fully documented in "Making Pictures With GNU PIC", a document which is part of the groff(@MAN1EXT@) distribution.

Your input PIC code should not be wrapped with the .PS and .PE macros that normally guard it within groff(@MAN1EXT@) macros.

The output image will be a black-on-white graphic clipped to the smallest possible bounding box that contains all the black pixels. By specifying command-line options to be passed to convert(1) you can give it a border, set the background transparent, set the image's pixel density, or perform other useful transformations.

This program uses @g@pic(@MAN1EXT@), @g@eqn(@MAN1EXT@), groff(@MAN1EXT@), gs(1), and the ImageMagick convert(1) program. These programs must be installed on your system and accessible on your $PATH for pic2graph to work.

OPTIONS

-unsafe
    Run @g@pic(@MAN1EXT@) and groff(@MAN1EXT@) in the `unsafe' mode enabling the PIC macro sh to execute arbitrary commands. The default is to forbid this.

-format fmt
    Specify an output format; the default is PNG (Portable Network Graphics). Any format that convert(1) can emit is supported.

-eqn delim
    Change the fencepost characters that delimit @g@eqn(@MAN1EXT@) directives ($ and $, by default). This option requires an argument, but an empty string is accepted as a directive to disable @g@eqn(@MAN1EXT@) processing.

Command-line switches and arguments not listed above are passed to convert(1).

FILES

@MACRODIR@/eqnrc
    The @g@eqn(@MAN1EXT@) initialization file.

SEE ALSO
eqn2graph(@MAN1EXT@), @g@pic(@MAN1EXT@), @g@eqn(@MAN1EXT@), groff(@MAN1EXT@), gs(1), convert(1).

AUTHOR
Eric S. Raymond <esr@thyrsus.com>, based on a recipe by W. Richard Stevens.