From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu From: "John E. Gwyn" Message-ID: <3A4BF6F3.A034368E@compuserve.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit References: <20001227192658.BD226199E4@mail.cse.psu.edu> Subject: Re: [9fans] off topic: troff book Date: Tue, 2 Jan 2001 17:44:35 +0000 Topicbox-Message-UUID: 413171ae-eac9-11e9-9e20-41e7f4b1d025 "James A. Robinson" wrote: > ... The only other book I've seen which talks about troff is The > UNIX Programming Environment, and I'm interested in seeing what > others have to say about the troff/tbl/eqn/pic typesetting > environment. There have been several books on the Documenter's WorkBench (DWB), which is the name AT&T used for the separately licensed package of troff and associated tools. You can license the latest version (3.1 I think) although it's a bit pricey for personal use. There were papers in the Bell Labs CSTR series describing most of these tools, and the papers are available on-line. The current Research version of most of those tools is bundled into Plan 9 Release 3, also available under a free license on-line, and the Plan 9 documentation includes user guides for some of them (and UNIX-style manual pages for all). The GNU project has some independently developed troff-workalike tools ("groff" etc.) which are freely available. http://www.unipress.com/toolkit/dwb.html Lucent/Unipress DWB http://plan9.bell-labs.com/plan9dist/ Bell Labs Plan 9 http://www.gnu.org/software/groff/groff.html GNU troff (groff) I use DWB (2.0 plus local improvements) for my own technical documentation. You need to be aware that it is meant to be used primarily as a set of specialized programming languages, not via a graphical user interface (although interactive drawing tools do exist). In many ways it is similar to Knuth's TeX. Its main advantage over nearly all GUI-based formatters (Word, etc.) is its relative lack of presumptions about the way you want your document formatted. For example, it does not insist on modeling all text as characters packed into lines; you can place any character anywhere on the page, including overstriking other characters. The programmability is largely tamed via macro packages (much like with TeX), most often the "MS" or "MM" packages, provided with DWB. One of the things I like most about DWB is the ability to easily create specialized preprocessors to build graphs, etc. which can be done within Makefiles, for example.