Hi Mike, > As a *roff user since the mid-1970s I am all too aware that to be good > at this you have to know and _understand_ a lot of details about the > document models (as represented by the different macro collections: > man, mm, mom, ms ...) and the fundamental commands, registers, etc. > To do even the simplest document requires much-too-much expertise for > the rank beginner.
Is that true? Kernighan's CSTR 54 can get one producing a simple document, e.g. Dear John letter, and that's without needing to understand it all. And then Dougherty and O'Reilly's _Unix Text Processing_ introduces troff and ms in chapters 4 and 5; available for download since we all typed it up some years back. http://home.windstream.net/kollar/utp/ http://home.windstream.net/kollar/utp/utp-1.0.pdf > The other day I was thinking of creating, as a first step, a set of > overlay macros for things like groff_mm (my macro package of choice) > to ease the burden of learning and understanding it: > > .mm_AbstractStart .AS > .mm_AbstractEnd .AE > .mm_Approval .AV ... > .mm_Paragraph .P > .mm_PictureEnd .PE > : : > > That way one would not have to memorize quite as much trivial detail > to understand the document source you were reading, especially if you > are a novice (as we all were at one time). For me, one of the appeals of troff over TeX is the less noisy, shorter commands that interfere less with the actual text. I don't think beginners are trying to read much troff as opposed to writing their first letter, man page, etc. Suggesting in a tutorial that they have to type .mm_Paragraph over and over might be a negative for some. HTML has managed with <p>, etc., and plenty of novices have written HTML directly. I agree there are many layers and often each has areas of complexity, and that's before they start to interact, but starting with a few essential troff commands, then introducing self-written macros when the user sees a need for removing the repetitiveness, followed by a simple package like ms (or perhaps mom; I've not used it) as UTP above does seems a reasonable introduction. Cheers, Ralph.