... It is definitely
possible to reliably, automatically derive the list of preprocessors; we do
it for every document we print.
I just don't believe this. You can get it right for most sensible
documents, but surely you can't guarantee it. How about
.de TS \" start of spoken text
If you do that, you get the same thing that happens if you redefine,
say, .br (yes, it is possible to do this). Things break. But for an
interchange convention, there must be some implicit agreement not to
break things.
... I'll bet for any
automated tool you produce, I can generate an example that will be
misinterpreted.
Undoubtedly. The question is whether this is a problem in practice, as
opposed to in contrived examples.
...If I write a new preprocessor (I wrote one once to do pie
charts...) how do I signal to you that this new preprocessor is to be
used? ...
Why does the situation come up? If you just wrote it, I probably don't
have it, and you *can't* signal me to use it. Private preprocessors
simply can't be used in document interchange without out-of-band agreement
among participants. Indeed, a "troff" format is probably going to have
to include some statement about what preprocessors are considered part
of "troff" for this purpose. Giving preprocessor names does not really
help, unless you set up a name registry to avoid duplications.
Henry Spencer at U of Toronto Zoology
henry(_at_)zoo(_dot_)toronto(_dot_)edu utzoo!henry