oster (09/17/82)
I wrote a trivial scribe-ish preprocessor for troff (mostly to format the Emacs manual). I am preparing a release, but once I tell you the implementation strategy you'll find it so trivial you'll probably just go and re-implement it yourself. All you do is modify the m4 macro processor so that it recognizes scribe commands. m4 takes alphanumeric tokens as potential macro calls and macros with arguments are of the form: token(arg1, arg2 ...). A minor change to the call on the look-up routine, and adding an extra slot to the stack frame so that it knows what kind of delimiter to match, and it will accept Scribe's syntax of @i(@b[@c<stuff including ']' and ')' > ] ). Then, it is just a matter of sitting down and writing the right m4 macros to translate scribe commands into the troff macro package of your choice. I will have my package ready for release soon, when I do, I will post to net.sources The .tm trick, and redirecting the stderr of troff into a filtering process give me scribe's internal cross referencing and table of contents and index- ing powers. David Oster