The pic language provides an easy way to write procedural box-and-arrow diagrams to be included in troff documents. 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 these descriptions are procedural and object-based, they are both compact and easy to modify.
The gpic(1) implementation of pic is distributed by the Free Software Foundation for use with their groff(1) implementation of troff. Because both implementations are widely available in source form for free, they are good bets for writing very portable documentation.
The original 1984 pre-ditroff(1) version of pic is long obsolete. The rewritten 1991 version is still available as part of the Documenter’s Work Bench module of System V.
Where differences between Documenter’s Work Bench (1991) pic and GNU pic need to be described, original pic is referred to as “DWB pic”. Details on the history of the program are given at the end of this document.
In this document, the gpic(1) extensions will be marked as such.