Hi Tadziu, Tadziu Hoffmann wrote on Sun, Dec 16, 2018 at 03:13:21PM +0100: > someone wrote:
>> "LOUD, SHOUTING HEADINGS" are ultimately a relic from >> the (tele)typewriter era. > It's just a technical limitation of teletypes that they > usually could not deal with different font sizes. For the > actual printed manuals, the man macros traditionally had > the section headings printed one point size smaller, to > lessen that impression of "shouting". This tells us that > the capitalization was intended as a presentational effect. > (But it's not clear why they did not attempt to achieve > this automatically with .tr.) Jerry Saltzer's RUNOFF (1964) did not have a .tr request, see the last page of http://web.mit.edu/Saltzer/www/publications/ctss/AH.9.01.pdf By AT&T Version 3 UNIX (1973), nroff(1) did have it, see https://minnie.tuhs.org/cgi-bin/utree.pl?file=V3/man/man1/nroff.1 It seems the famous CSTR#54 only appeared in 1976, which is even after AT&T Version 6 UNIX (1975). And indeed, while the v7 troff(1) manual page in 1979 says "SEE ALSO: J. F. Ossanna, Nroff/Troff user's manual", the v6 manual page still says "SEE ALSO: TROFF User's Manual (internal memorandum)". The v1 roff(1) manual page only says even less, "roff is fully described in a separate publication [reference]" (sic!), so apparently in November 1971, even the author and the title of the roff user manual weren't decided yet. So it's not clear to me whether UNIX v1 roff(1) already supported the .tr request. But even if it did, that would not have helped: programmable macros only appeared in nroff(1), in 1972, at least a year after the v1 manual pages were completed - let alone begun. We still have the source code of the v3 manual pages - the sources of the v1 and v2 manuals appear to be lost, only scans of printed versions and OCR'ed PostScript/PDF from those are available. In v3, formatting of manual pages looks like this: $ head /co/v3/man/man1/roff.1 .pa 1 .he 'ROFF (I)'6/12/72'ROFF (I)' .ti 0 NAME roff -- format text \" note the literal tabs here .sp .ti 0 .nf SYNOPSIS ... and not even a request or escape for underline existed yet: $ hexdump -C /co/v3/man/man1/roff.1 [...] 00000050 30 0a 2e 6e 66 0a 53 59 4e 4f 50 53 49 53 09 72 |0..nf.SYNOPSIS.r| 00000060 6f 66 66 08 08 08 08 5f 5f 5f 5f 20 5b 20 2b 08 |off....____ [ +.| 00000070 5f 6e 75 6d 62 65 72 20 5d 20 5b 20 2d 73 08 08 |_number ] [ -s..| 00000080 5f 5f 20 5d 20 5b 20 2d 68 08 08 5f 5f 20 5d 20 |__ ] [ -h..__ ] | You see literal ASCII U+0008 backspace characters embedded in the source code of that manual page! The \fB and \fI requests then first appear in the v4 manuals, together with the first macros; by far not the man(7) macros yet. For example, the v4 .sh macro is still quite simplistic: .de sh .s1 .ne 5 .ti 0 \\$1 .br .. .de s1 .sp 1 .ne 4 .. Not the kind of coding that would give people the idea of reformatting headers with .tr, right? And that is already at least three years later than the decision to set section headers in all caps. So i don't regard it as a big mystery how the rule "put all caps into the source code for section headers" came to be. The question only is whether it is worth editing thousands of manual pages for each operating system to get rid of the rule now. Yours, Ingo
