The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Dan Cross <crossd@gmail.com>
To: Bakul Shah <bakul@iitbombay.org>
Cc: TUHS main list <tuhs@minnie.tuhs.org>
Subject: Re: [TUHS] TeX and groff (was: roff(7))
Date: Tue, 11 Jan 2022 22:44:43 -0500	[thread overview]
Message-ID: <CAEoi9W5OKXeuQu8RkiJZahMTDoj2L3NDREkVX6+n1xWyyse=5Q@mail.gmail.com> (raw)
In-Reply-To: <69B0EA6A-3B99-4555-AD08-F67FAF52A818@iitbombay.org>

[-- Attachment #1: Type: text/plain, Size: 3239 bytes --]

On Tue, Jan 11, 2022 at 9:11 PM Bakul Shah <bakul@iitbombay.org> wrote:
> Don Knuth talks at length about how TeX & MetaFont came about etc. in his
Web of Stories interview in parts 50 through 70. In Part 56 he does say he
looked at "the system developed at Bell Labs", presumably troff.

Among the Bell Labs technical reports I read when I was younger, a trilogy
by MD McIlroy on the challenges drawing ellipses stand out:
https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.3440&rep=rep1&type=pdf

These stuck in my mind and some relatively short time later, I read how the
analogous problem was approached in TeX. The solution there was to treat
the shape as if it were drawn using a pen with a diamond-shaped nib. From
the MetaFont book:

Similarly, some diagonal lines of slope~1 digitize to be twice as dark as
others, when a truly
circular pen is considered. But the diamond-shaped nib that \MF\ uses
for a pencircle of diameter~1 does not have this defect; all straight
lines of the same slope will digitize to lines of uniform darkness.
Moreover, curved lines drawn with the diamond nib always yield one pixel per
column when they move more-or-less horizontally (with slopes between $+1$
and $-1$), and they always yield one pixel per row when they move
vertically.
By contrast, the outlines of curves drawn with circular pens produce
occasional ``blots.'' Circles and ellipses of all diameters can profitably
be replaced by polygons whose sub-pixel corrections to the ideal shape
will produce better digitizations; \MF\ does this in accordance with the
interesting theory developed by John~D. ^{Hobby} in his Ph.D.
dissertation (Stanford University, 1985).


If I can be so bold as to offer an interpretation: Doug's approximations
treat ellipses as mathematical objects and algorithmically determine what
pixels are closest to points on the infinitesimally-thin curves, while
Knuth's (or one his students') method acknowledges that the curve has a
width defined by the nib; any "pixel" the nib touches becomes part of the
figure. Perhaps I'm wrong on the details, but it hardly matters; my point
is that there was clearly interesting work done in the area in both places.
I find it impossible that neither Knuth nor Hobby were unaware of McIlroy's
work and vice-versa; of course he would have known about and examined troff
just as the Bell Labs folks knew about TeX. These were hot areas of
practical research! This is also a good reminder that not only was Unix
itself a subject of research, but it supported a lot of other research at
Bell Labs and elsewhere. On this list, we tend to focus on the tool, but
that tool was put to use building many more things as well.

> [snip]
> I must say I am a fan of TeX/LaTeX and not a fan of nroff/troff -- I
don't like the troff look and I don't like the markup.

I've always admired the look of troff. I wonder if, in retrospect, that is
due to me mentally tying the presentation with so many formative documents
that were strong early influences. Similarly, I love the look of Tex (even
the CM fonts). They are of course different, but I find each beautiful in
different ways.

> The nice thing is we can choose whatever typesetting tools we want!

This!

        - Dan C.

[-- Attachment #2: Type: text/html, Size: 3757 bytes --]

  reply	other threads:[~2022-01-12  3:45 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-31 15:47 [TUHS] roff(7) Douglas McIlroy
2021-12-31 23:07 ` George Michaelson
2021-12-31 23:40   ` Larry McVoy
2022-01-01  0:56     ` [TUHS] TeX and groff (was: roff(7)) Greg 'groggy' Lehey
2022-01-01  3:15       ` Larry McVoy
2022-01-10 19:00         ` Blake McBride
2022-01-10 20:21           ` Jon Forrest
2022-01-11 22:48             ` Blake McBride
2022-01-11 23:18               ` Larry McVoy
2022-01-12  1:19                 ` Dave Horsfall
2022-01-12  1:46                 ` Blake McBride
2022-01-12  2:12                 ` Bakul Shah
2022-01-12 15:49                   ` Larry McVoy
2022-01-12 16:22                     ` Adam Thornton
2022-01-12  0:06               ` Jon Steinhart
2022-01-12  1:48                 ` Blake McBride
2022-01-12  0:29               ` Nemo Nusquam
2022-01-12  1:53                 ` Blake McBride
     [not found]               ` <E3CC4B8A-4E88-4339-A4D3-4ED26BA80620@gmail.com>
2022-01-12  0:44                 ` Jon Forrest
2022-01-12  2:00                   ` Blake McBride
2022-01-12  2:10                     ` David Arnold
2022-01-12  2:26                       ` Adam Thornton
2022-01-12 19:54                     ` John Cowan
2022-01-13 10:13                       ` Thomas Paulsen
2022-01-13 20:00                         ` John Cowan
2022-01-10 20:33           ` Larry McVoy
2022-01-10 20:37             ` Richard Salz
2022-01-10 21:04               ` Dan Cross
2022-01-10 21:48                 ` Nemo Nusquam
2022-01-11  2:25                 ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-11  2:47                   ` Larry McVoy
2022-01-22  2:34                   ` [TUHS] troff environments, traps, and diversions (was: TeX and groff) Branden Robinson
2022-01-22 16:02                     ` Douglas McIlroy
2022-01-23 19:45                       ` Jon Steinhart
2022-01-23 22:26                       ` Jon Steinhart
2022-01-11  1:52               ` [TUHS] Recognizing TeX (was: TeX and groff (was: roff(7))) Greg 'groggy' Lehey
2022-01-12  1:19             ` [TUHS] TeX and groff (was: roff(7)) Mary Ann Horton
2022-01-12  2:03               ` Blake McBride
2022-01-12  2:10               ` Bakul Shah
2022-01-12  3:44                 ` Dan Cross [this message]
2022-01-12 16:48               ` Steffen Nurpmeso
2022-01-10 20:46           ` Steffen Nurpmeso
2022-01-11  1:59           ` [TUHS] Demise of " Greg 'groggy' Lehey
2022-01-11  2:13             ` Lyndon Nerenberg (VE7TFX/VE6BBM)
2022-01-11  2:42               ` Larry McVoy
2022-01-11  5:12                 ` Greg 'groggy' Lehey
2022-01-11  5:59                   ` John Labovitz
2022-01-11  8:57                   ` arnold
2022-01-11 20:15                     ` Jon Steinhart
2022-01-11 20:22                       ` Larry McVoy
2022-01-11 20:26                         ` Jon Steinhart
2022-01-11 20:36                           ` Larry McVoy
2022-01-11 20:41                             ` Jon Steinhart
2022-01-11 20:49                               ` Larry McVoy
2022-01-11 21:03                                 ` Jon Steinhart
2022-01-11  8:50                 ` arnold
2022-01-11 14:00                   ` Larry McVoy
2022-01-12 23:22                     ` [TUHS] troff or groff? (was: Demise of TeX and groff (was: roff(7))) Greg 'groggy' Lehey
2022-01-12 23:29                       ` Greg 'groggy' Lehey
2022-01-12 23:32                       ` Larry McVoy
2022-01-11 15:47                 ` [TUHS] Demise of TeX and groff (was: roff(7)) Clem Cole
2022-01-11 16:55                   ` Richard Salz
2022-01-11 18:49                     ` Clem Cole
2022-01-11 19:20                   ` John Cowan
2022-01-11 20:06                     ` Clem Cole
2022-01-11 23:57                       ` Warner Losh
2022-01-12  0:03                         ` Warner Losh
2022-01-12  8:54                       ` arnold
2022-01-12 15:17                         ` Clem Cole
2022-01-12 16:33                         ` Dan Cross
2022-01-12 18:06                           ` [TUHS] *roff history as told to GNU G. Branden Robinson
2022-01-12 18:34                             ` Dan Halbert
2022-01-12 22:48                               ` Clem Cole
2022-01-12 23:27                                 ` Charles H. Sauer
2022-01-13  0:35                                   ` Adam Thornton
2022-01-12 20:01                             ` Dan Cross
2022-01-12 22:32                             ` Clem Cole
2022-01-13  2:38                             ` John Labovitz
2022-01-13  7:42                               ` Lars Brinkhoff
2022-01-13 13:47                                 ` John Labovitz
2022-01-12  8:48                   ` [TUHS] Demise of TeX and groff (was: roff(7)) arnold
2022-01-12 15:51                     ` Larry McVoy
2022-01-12 15:57                       ` Clem Cole
2022-01-12 15:56                     ` Clem Cole
2022-01-11  3:22               ` Adam Thornton
2022-01-12  0:32             ` Nemo Nusquam
2022-01-01 20:00     ` [TUHS] roff(7) [ and other related stuff ] Jon Steinhart
2022-01-02  0:12       ` Larry McVoy
2022-01-02  1:04         ` John Cowan
2022-01-02  1:20           ` Larry McVoy
2022-01-02  1:47             ` Steve Nickolas
2022-01-02  2:12               ` Larry McVoy
2022-01-02  3:56               ` Jon Steinhart
2022-01-02  1:48             ` Jon Steinhart
2022-01-02  3:04             ` John Cowan
2022-01-02  3:30               ` Warner Losh
2022-01-01  1:11   ` [TUHS] roff(7) Phil Budne
2022-01-01  1:17     ` Chris Torek
2022-01-01  3:06       ` Larry McVoy
2022-01-01  3:34       ` George Michaelson
2022-01-05 21:15   ` Tony Finch
2022-01-10 21:06 [TUHS] TeX and groff (was: roff(7)) Jon Steinhart
2022-01-11 11:06 ` Ralph Corderoy
2022-01-11 14:52   ` John Cowan
2022-01-10 21:12 Bakul Shah
2022-01-11 13:37 Nelson H. F. Beebe
2022-01-12  2:49 Jon Steinhart
2022-01-12 10:38 ` Ralph Corderoy
2022-01-12 17:53   ` Jon Steinhart
2022-01-12 18:27     ` G. Branden Robinson
2022-01-12 19:02       ` John Cowan
2022-01-13 17:31 Douglas McIlroy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEoi9W5OKXeuQu8RkiJZahMTDoj2L3NDREkVX6+n1xWyyse=5Q@mail.gmail.com' \
    --to=crossd@gmail.com \
    --cc=bakul@iitbombay.org \
    --cc=tuhs@minnie.tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).