convert a PIC diagram into a cropped image
see also :
eqn2graph - grap2graph - pic - eqn - groff - gs - convert
[ -unsafe ] [
-format fmt ] [
-eqn delim ]
add an example, a script, a trick and tips
no example yet ...
... Feel free to add your own example above to help other Linux-lovers !
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.
language is fully documented in Making Pictures With GNU
PIC, a document which is part of the groff(1)
Your input PIC
code should not be wrapped with the .PS and .PE
macros that normally guard it within groff(1)
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.
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.
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.
Specify an output format; the
default is PNG (Portable Network Graphics). Any format that
convert(1) can emit is supported.
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
switches and arguments not listed above are passed to
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.
The eqn(1) initialization file.
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
eqn 2graph"> eqn2graph ,
grap2graph , pic , eqn,
groff , gs , convert .
Eric S. Raymond
<esr[:at:]thyrsus[:dot:]com>, based on a recipe by W. Richard