This documentation is released to the public domain.
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. . .
-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). . .
\w'@MACRODIR@/eqnrc'u+2n @MACRODIR@/eqnrc The @g@eqn (@MAN1EXT@) initialization file. . .
GROFF_TMPDIR The directory in which temporary files will be created. If this is not set pic2graph searches the environment variables \%TMPDIR , TMP , and TEMP (in that order). Otherwise, temporary files will be created in /tmp . . .
mode: nroff
End: