[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [groff] Macros in their own package ...
From: |
Larry Kollar |
Subject: |
Re: [groff] Macros in their own package ... |
Date: |
Sun, 25 Feb 2018 00:19:40 -0500 |
> John Gardner <address@hidden> wrote:
>
> Apropos of compatibility outside `groff`...
>
> Does anybody know of an exhaustive list of *roff implementations still in
> common use? (Including legacy repositories of historical interest)
>
> The current Roff interpreters I'm aware of are:
>
> 1. *GNU Troff <https://www.gnu.org/software/groff/>* (~1989/1990 ‒
> present)
> 2. mandoc <http://mandoc.bsd.lv> *[1]* (2008 ‒ present)
> 3. *Heirloom Doctools <https://github.com/n-t-roff/heirloom-doctools>*
> (? ‒ present)
> 4. *DWB 3.3 <https://github.com/n-t-roff/DWB3.3>* (???? ‒ 1993ish)
> 5. *Solaris 10 ditroff <https://github.com/n-t-roff/Solaris10-ditroff>*
> (1980s ‒ ?)
> 6. *Plan9 Troff <https://github.com/n-t-roff/Plan9_troff> *(???? ‒
> present)
> 7. 9front Troff <https://github.com/n-t-roff/9front_troff> (???? ‒ ????)
> 8. Utroff <http://utroff.org> (Which I know nothing about)
You’re missing neatroff — https://github.com/aligrudi/neatroff
I think both Neatroff and Heirloom are based on Plan9, FWIW.
Macros…
I think Groff is unique in providing an HTML post processor, however ham-fisted
its output might be. It depends mightily on macro packages feeding it hints to
get the elements correct (especially lists). So, in Groff, both -ms and -man
have a
bunch of extensions that support -Thtml.
In my mind, the *real* question is, what’s our vision for the *roff family? Not
only
Groff, but all the others in the list above (plus any we’ve forgotten about
(awf?).
That, IMO, is driving the “split vs. monolithic” divide here. I see three
competing
visions in play:
WALLED GARDEN
Source is *roff, and there isn’t much interest in moving things in or
out. It would
be nice to interchange between different formatters, with (at most)
minimal fixes.
But there’s little or no interest in working with the rest fo the
world. I kind of see
most of the “don’t break out the macro packages” folks in this category.
ROACH MOTEL
*roff becomes an intermediate step from some other markup language
(usually
an XML variant) on the way to PDF… or maybe manpages. In other words,
documents check in, but they don’t check out. Frankly, I’ve moved here
from
Walled Garden in the last couple of years. Those of us in this category
are interested
in portable macro packages so we can shift to a different formatter if
it better meets
our requirements.
WORLD CITIZEN
This is where I’d *like* to be. There are been attempts (doclifter and
-Thtml being
two of the most ambitious) to make *roff output interchangeable with
the rest of
the world, but they fall short. Portable macro packages are the easy
part, in this
scenario. Still, I think there’s value in the attempt(s) to make *roff
easier to
interchange with the rest of the world. Markdown is eating our lunch in
this category;
you can take its squeaky-clean HTML output and transform it into
*anything*.
Given the continued development of all *roff variants, it’s obvious we have
something
to offer the rest of the world. We just need to figure out what that is.
Larry