#241394 groff: please support 4.2BSD TM and CT extensions to ms(7)

Package:
groff
Source:
groff
Description:
GNU troff text-formatting system
Submitter:
"brian m. carlson"
Date:
2023-07-21 10:27:08 UTC
Severity:
wishlist
Tags:
#241394#5
Date:
2004-04-01 05:01:44 UTC
From:
To:
I'd really like it if groff supported the Berkeley extensions to -ms,
specifically .TM (Thesis Mode) and .CT (Chapter Title). I'd do it
myself, but I don't know enough about the internals of groff to do so.

#241394#28
Date:
2022-04-11 07:02:50 UTC
From:
To:
package groff
retitle 241394 groff: please support 4.2BSD TM and CT extensions to ms(7)
tag 241394 + upstream
thanks

First, a point of clarification--there were many extensions to ms(7) in
4.2BSD, and groff supports all of them _except_ the TM and CT macros.

Upstream, groff has resurrected and updated Larry Kollar's ms.ms
document from ~2000 and I have updated it to include a great deal of
information about portability.  Find it at
<https://git.savannah.gnu.org/cgit/groff.git/tree/doc/ms.ms>.

This document, along with corresponding updates to groff_ms(7), is
expected in the groff 1.23 release.

I'm not certain if groff _should_ try to support these macros, at least
by default, given that doing so means choosing between AT&T and BSD
dialects (AT&T also defined a `TM` macro.)  Historically, GNU ms
supported the common denominator of AT&T and BSD ms(7) names and added
its own extensions on top.

However, Keith Marshall has recently added an `FP` macro and that may
force us to choose the BSD dialect by default, and/or add a string
configuring the dialect to be supported.  And we kind of started down
that road already by supporting BSD's `P1` over Research Unix's `P1` and
`P2`.

While we sort out these issues, users might find it convenient to simply
inline the BSD `TM` and `CT` macro definitions into their documents or a
bespoke macro file.

Here is the entirety of "s.ths", which shipped with 4.2BSD[1].

.	\" TM - U.C. Berkeley thesis mode
.ls 2
.if v .nr PO 1.5i
.rm CH
.ds RH \\n(PN
.rm CF
.P1
.nr TM 1
.	\" CT - chapter title
.de CT
.rn RH R@
.if \\n(1T .bp
.RT
.if \\n(1T .sp
.if !\\n(1T .BG
.RT
.ft 3
.if n .ul 100
.ps \\n(PS+2
.ce 100
.nr CT 1
.rn R@ RH
..

Regards,
Branden

[1] https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.2BSD/usr/lib/ms/s.ths

#241394#35
Date:
2023-07-21 10:22:30 UTC
From:
To:
tag 241394 + upstream
forwarded 241394 https://savannah.gnu.org/bugs/?64455
thanks