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 eqn(1) 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(1) distribution.
Your input PIC code should not be wrapped with the .PS and .PE macros
that normally guard it within groff(1) macros.
The output image will be clipped to the smallest possible bounding box
that contains all the black pixels. Older versions of convert(1) will
produce a black-on-white graphic; newer ones may produce a black-on-
transparent graphic. By specifying command-line options to be passed
to convert(1) you can give it a border, force the background
transparent, set the image’s pixel density, or perform other useful
transformations.
This program uses pic(1), eqn(1), groff(1), 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 pic(1) and groff(1) 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 eqn(1) directives
($ and $, by default). This option requires an argument, but an
empty string is accepted as a directive to disable eqn(1)
processing.
Command-line switches and arguments not listed above are passed to
convert(1).
FILES
/usr/share/groff/1.20.1/tmac/eqnrc The eqn(1) initialization file.
ENVIRONMENT
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.
BUGS
Due to changes in the behavior of ImageMagick convert(1) that are both
forward and backward-incompatible, mismatches between your pic2graph
and convert(1) versions may produce zero-sized or untrimmed output
images. For this version of pic2graph you will need a version of
convert(1) that supports the -trim option; older versions of pic2graph
used -crop 0x0, which no longer has trimming behavior.
SEE ALSO
eqn2graph(1), grap2graph(1), pic(1), eqn(1), groff(1), gs(1),
convert(1).
AUTHOR
Eric S. Raymond <esr@thyrsus.com>, based on a recipe by W. Richard
Stevens.