[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #64018] [man, mdoc] decide on a common base paragraph indentation

From: G. Branden Robinson
Subject: [bug #64018] [man, mdoc] decide on a common base paragraph indentation
Date: Sun, 9 Apr 2023 19:22:04 -0400 (EDT)

Follow-up Comment #2, bug #64018 (project groff):

[comment #1 comment #1:]
> The setting ".nr IN 7.2n" is present since the beginning of the groff
repository, i.e. groff-1.06, Sep 1 12:28:08 1992, file tmac/tmac.an .
> Consequently, it is almost certain that it was James Clark who changed from
5n to 7n during the very early stages of groff development, and definitely
earlier than the 1.01 release.  In the CHANGES and ChangeLog files contained
in groff-1.01, i see no explanation of why he made the change.
> I also consider it likely that AT&T troff never moved away from the 5n
default.  For example, UNIX v10 (1988) contains:
> https://minnie.tuhs.org/cgi-bin/utree.pl?file=V10/man/man0/tmac.v10

> .if n .nr )M 5n
> .nr IN \\n()Mu

> To summarize, it was likely James Clark who changed the indentation without
so much as providing a rationale, at least not one that survives to this day,
while it is mdoc(7) that upholds the original UNIX tradition in this respect.

Thanks for digging into this.

I can rule out my SunOS hypothesis, too.  The tape archives I have for SunOS
4.0 similarly use half-inch indentation.

(The output below is abbreviated.)

.\"     @(#)tmac.an 1.35 88/03/05 SMI;                                  
.ds ]W Sun Release 4.0                                                  
'       # month name

'       # reset the basic page layout
.de }E
.in \\n()Ru+\\n(INu
.ll \\n(LLu

'       # set title and heading
.de TH
.if n .nr IN .5i
.if t .nr IN .5i
.if t .po .588i
.ll 6.5i
.nr LL \\n(.l

'       # hanging indent
.de HP
.sp \\n()Pu
.ne 2
.if !"\\$1"" .nr )I \\$1n
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n()Ru+\\n(INu

'       # end of TP (cf }N below)
.de }1
.ds ]X \&\\*(]B\\
.nr )E 0
.if !"\\$1"" .nr )I \\$1n
.ll \\n(LLu
.in \\n()Ru+\\n(INu+\\n()Iu
.ti \\n(INu
.ie !\\n()Iu+\\n()Ru-\w^G\\*(]X^Gu-3p \{\\*(]X
.el \\*(]X\h^G|\\n()Iu+\\n()Ru^G\c

The only rationale for the 7n/7.2n indentation I'm aware of is that because
it's the "standard indentation", it's also used as a default for the `TP`
macro, which is frequently used.

And if you want to set a command line option with argument, 5n is a little bit
too tight.  For instance,

-a arg

...won't fit on a terminal (because you need 1n of space _after_ the tag for
the remainder of the paragraph to be set on the same line).  And as I recall,
Alex Colomar has lobbied for 2n of tag separation instead of 1.

Let's take it to the list and see if any of the professional typographers
there have a case for groff's status quo--the half of it in man(7), at any

An experiment I may undertake is to change the standard indentation to 5n in
my working copy and see how that changes the page count of
groff-man-pages.pdf.  If it gets longer (due to many more line breaks forced
by the tighter space for paragraph tags), the economy of 5n may be a false


Reply to this item at:


Message sent via Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]