Awesome -- great way to figure it out, although I'm not sure 3rd edition
was nroff, I think it might have been roff. I think a smart test is to
check to see if those sources used a macro package or not. If not macro
package, I think that tells us that the likely formatting program was roff.
It does leave us an interesting question, when did the original roff(1)
show up and when did nroff(1). The original, roff(1), was early, and of
course not until after the original PDP-11/20 port. But was it as early as
first edition? roff was the first formatting program. nroff replaced it
later on, although roff lived through the 6th edition (I do not believe it
is on the v7 tape).
I was under the impression that the order is this ... roff was written for
either v1 or v2 in 1970 or 71; I thought originally by Ken to be similar to
the runoff that ran on the GE systems. At some point the team recieved
the /C/A/T and Joseph Ossanna wrote a new program to support it,
*a.k.a. *troff,
that was similar to roff but troff was not a superset of the original
program. nroff was then written after troff came into being to parrot the
behavior of troff using an ASR-37; but I do not know who was the author (it
might have been Ossanna). But it was a third program, that used the same
macro packages as troff that started to appear for Ossanna's program and
the input language was changed so that a document author could know what
was the output target.
As I said, nroff and roff were in the v6 distribution, although not troff
if I remember it correctly; although troff was part of PWB 1.0. The
inclusion of both roff and nroff was because some of the Unix
papers/documentation used roff for formatting, not the troff/nroff input
syntax. That said, the PWB man pages have the roff manpage, as well as a
single man page for both nroff and troff with sections later that say
'nroff only' and 'troff only.'
Also I do not remember having any macro packages for roff(1), but their
might have been some, although I just checked the PWB man page and it does
not list a .so command to read in macros, there is no mention of a macro
switch on the command line and in the files section the only external file
it used was the hyphenation tables.
Finally, Ossanna tragically died and some time later the new APS/5 was
obtained. So, bwk wrote a new program yet, that used post processors and
some front end tables, to allow the 'typesetter' portion to work regardless
of the output device (*i.e.* device independent troff or ditroff). With
the idea only a single program would be needed to be supported. By this
point nothing in the Research 'releases' required the original roff program
and since it was in assembler, I believe that it was dropped from all
further support.
Clem
On Fri, Sep 13, 2019 at 4:53 PM Diomidis Spinellis <dds(a)aueb.gr> wrote:
The Fourth Edition manual was typeset in troff:
https://dspinellis.github.io/unix-v4man/v4man.pdf
https://github.com/dspinellis/unix-v4man
The Third Edition was nroff:
https://dspinellis.github.io/unix-v3man/v3man.pdf
https://github.com/dspinellis/unix-v3man
On 13-Sep-19 23:43, Clem Cole wrote:
Jon - Good catch and that is a good reminder.
Warner - You need to add troff and the C/A/T to your timeline. They
were too important. What I don't remember, although Doug or Steve
might, was the original troff 4th or 5th edition? bwk did
ditroff, later with the addition of the APS5.