Typesetting with groff Macros
Just like the vi editor and gcc compiler, groff is one of the mainstay classics in the standard UNIX/Linux environment. We have seen just a few ways of using groff's extensive macro capabilities to define markup and page layout interfaces that readily turn plain text files into typeset-quality print.
The features covered here are by no means the whole story. For example, groff also includes native facilities for drawing lines, curves, circles, ellipses and polygons with shaded filling. And, this does not even begin to cover groff's suite of preprocessors for graphs (grap), pictures (pic), equations (eqn), tables (tbl) and bibliographic references (refer). As is customary with GNU and Linux software, groff comes with thorough and high-quality documentation. (See Resources for more information.) And there are, of course, active mailing lists for staying current with groff and interacting with its user community.
This article has been aimed at the creation of short documents, but groff is capable of printing works of any length. In fact, groff is likely the typesetter used in the publication of your favorite O'Reilly title. For tour-de-force examples of groff in action, not to mention some of the best books on UNIX programming ever published, see any of the series by W. Richard Stevens. (The late Dr. Stevens is quoted at the beginning of this article from his colophon to UNIX Network Programming, Volume 2, Prentice-Hall PTR, 1999.) Much like the C programming language born of the same era, groff has an enduring and powerful minimalism that continues to lend itself well to typesetting tasks of all sizes. And if you should hear of reports suggesting groff's demise, just remember, some folks used to make similar claims about UNIX as well!
Wayne Marshall (firstname.lastname@example.org) is a UNIX programmer and technical consultant currently living in Guinea, West Africa. He enjoys traveling, hiking, photography, Africa, strong black tea, popcorn and baking cookies.
- why is GNOME 3 in the fifth position at 14.1 %?
3 hours 54 min ago
- Sublime Is Brilliant!
8 hours 57 min ago
9 hours 16 min ago
- Rapid[Disk,Cache] better than native ram caching?
9 hours 41 min ago
- Nothing is perfect
9 hours 54 min ago
- Mixtapes Community
15 hours 33 min ago
- KDE is one true DE
16 hours 8 min ago
- Command Line Shells (Bash, Zsh, etc.) are 2nd place
16 hours 36 min ago
18 hours 31 min ago
- yes it's Jupiter Broadcasting
19 hours 51 min ago