The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] [TUHS/groff] Provenance of .SB macro in man pages
@ 2020-01-25 15:00 G. Branden Robinson
  2020-01-25 19:13 ` reed
  0 siblings, 1 reply; 3+ messages in thread
From: G. Branden Robinson @ 2020-01-25 15:00 UTC (permalink / raw)
  To: tuhs, groff

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

Hi folks,

I've been adding a history subsection to the groff_man(7) page for the
next groff release (date TBD) and thanks to the TUHS archives I've been
able to answer almost all the questions I had about the origins of the
man(7) language's macros and registers (number and string).

I'm inlining my findings in rendered and source form below, but there's
one feature I haven't been able to sort out--where did .SB (small bold)
come from?  The oldest groff release I can find online is 1.02 (June
1991), and .SB is already there, but I can't find it anywhere else.  Is
it a GNUism?  Did it perhaps appear in a proprietary Unix first?

I'm aware of Kristaps Dzonsons's history of Unix man pages[1], but
unfortunately for me that is more of a history of the *roff system(s),
and does not have much detail about the evolution of the man(7) macro
language itself.

If you can shed any light on this, I'd appreciate it!

   History
       Version 7 Unix (1979) supported all of the macros described in this
       page not listed as extensions, except .P, .SB, and the deprecated .AT
       and .UC.  The only string registers defined were R and S; no number
       registers were documented.  .UC appeared in 3BSD (1980) and .P in AT&T
       Unix System III (1980).  4BSD (1980) added lq and rq string registers.
       4.3BSD (1986) added .AT and AT&T's .P.  DEC Ultrix 11 (1988) added the
       Tm string register.

.\" ====================================================================
.SS History
.\" ====================================================================
.
Version\~7 Unix (1979) supported all of the macros described in this
page not listed as extensions,
except
.BR .P ,
.BR .SB ,
.\" .SS was implemented in tmac.an but not documented in man(7).
and the deprecated
.BR .AT
and
.BR .UC .
.
The only string registers defined were
.B R
and
.BR S ;
no number registers were documented.
.
.B .UC
appeared in 3BSD (1980) and
.B .P
in AT&T Unix System\~III (1980).
.
4BSD (1980) added
.\" undocumented .VS and .VE macros to mark regions with 12-point box
.\" rules (\[br]) as margin characters, as well as...
.B lq
and
.B rq
string registers.
.
4.3BSD (1986) added
.\" undocumented .DS and .DE macros for "displays", which are .RS/.RE
.\" wrappers with filling disabled and vertical space of 1v before and
.\" .5v after, as well as...
.B .AT
and
AT&T's
.BR .P .
.
DEC Ultrix\~11 (1988) added the
.B Tm
string register.
.
.\" TODO: Determine provenance of .SB.

Regards,
Branden

[1] https://manpages.bsd.lv/history.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [TUHS] [TUHS/groff] Provenance of .SB macro in man pages
  2020-01-25 15:00 [TUHS] [TUHS/groff] Provenance of .SB macro in man pages G. Branden Robinson
@ 2020-01-25 19:13 ` reed
  2020-01-25 19:36   ` G. Branden Robinson
  0 siblings, 1 reply; 3+ messages in thread
From: reed @ 2020-01-25 19:13 UTC (permalink / raw)
  To: G. Branden Robinson; +Cc: tuhs, groff

On Sun, 26 Jan 2020, G. Branden Robinson wrote:

> I'm inlining my findings in rendered and source form below, but there's
> one feature I haven't been able to sort out--where did .SB (small bold)
> come from?  The oldest groff release I can find online is 1.02 (June
> 1991), and .SB is already there, but I can't find it anywhere else.  Is
> it a GNUism?  Did it perhaps appear in a proprietary Unix first?

I see .SB used in the 
C Manual - Language
Edited by R.P.A. Collinson
Document No: DOC/UNIX.K3.10/1
and UKC IO Library docs also from Collinson at Univ. of Kent.
as found in the usenix-78-uk1 tape.
Maybe that is uk1.tar at 
https://www.tuhs.org/Archive/Applications/Spencer_Tapes/

I also see a SB Stymie Bold font in v7 troff.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [TUHS] [TUHS/groff] Provenance of .SB macro in man pages
  2020-01-25 19:13 ` reed
@ 2020-01-25 19:36   ` G. Branden Robinson
  0 siblings, 0 replies; 3+ messages in thread
From: G. Branden Robinson @ 2020-01-25 19:36 UTC (permalink / raw)
  To: tuhs, groff

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

Thanks for the quick follow-up, Reed!

At 2020-01-25T13:13:44-0600, reed@reedmedia.net wrote:
> On Sun, 26 Jan 2020, G. Branden Robinson wrote:
> 
> > I'm inlining my findings in rendered and source form below, but
> > there's one feature I haven't been able to sort out--where did .SB
> > (small bold) come from?  The oldest groff release I can find online
> > is 1.02 (June 1991), and .SB is already there, but I can't find it
> > anywhere else.  Is it a GNUism?  Did it perhaps appear in a
> > proprietary Unix first?
> 
> I see .SB used in the 
> C Manual - Language
> Edited by R.P.A. Collinson
> Document No: DOC/UNIX.K3.10/1
> and UKC IO Library docs also from Collinson at Univ. of Kent.
> as found in the usenix-78-uk1 tape.
> Maybe that is uk1.tar at 
> https://www.tuhs.org/Archive/Applications/Spencer_Tapes/

There's definitely an .SB macro used in that and a few other *roff
documents in the uk1 archive, all of which have filenames ending in
".n".

They're not laid out like man pages, there's no tmac.n file in the
archive, and the macros used don't seem to come from Matt Bishop's News
macro package, also named tmac.n.

Given the absence of the macro package source it's hard to say what the
semantics of these documents' ".SB" might be.  They appear to be used as
section headings, but C function prototypes are used with them as well.
But since a C library is being documented alongside the language, maybe
that's not too surprising.

> I also see a SB Stymie Bold font in v7 troff.

That's a different namespace.  Something it took me an embarrassingly
long to figure out was the ridiculously terse naming convention of *roff
font description files.

The "foundry" name gets the first letter, and after that you get "R" for
roman, "B" for bold, "I" for italic, "BI" for bold italic, and "S" for a
"special" font (symbols for math typesetting or dingbats).  Bold and
italics didn't apply to special fonts.

So, if your system has Helvetica you'll have files called:
	HR
	HB
	HI
	HBI

If my guess is right, alongside Stymie Bold you'll see SR, SI, and
possibly SBI as well.

Regards,
Branden

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-01-25 19:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-25 15:00 [TUHS] [TUHS/groff] Provenance of .SB macro in man pages G. Branden Robinson
2020-01-25 19:13 ` reed
2020-01-25 19:36   ` G. Branden Robinson

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).