[comp.unix.questions] Printing section number with troff -ms macros.

arnold@audiofax.com (Arnold Robbins) (11/01/90)

In article <1990Oct30.224252.7998@athena.mit.edu> drk@athena.mit.edu (David R Kohr) writes:
>I am trying to produce a Table of Contents which includes the section number
>as well as page number for each item listed.

I came up with this macro recently.  It does all the work for you.  Use this
macro *instead of* the .NH and .XS/.XE macros, and put a .TC at the end.
(It does answer your question, too; string register SN has the section number.)

	."
	." HN - Heading that are numbered and produce a Table of Contents entry
	."
	." Usage:   .NH level "text"
	."
	.de HN
	.NH \\$1
	\\$2
	.XS \\n(PN
	\\*(SN \\$2
	.XE
	..
-- 
Arnold Robbins				AudioFAX, Inc. | Laundry increases
2000 Powers Ferry Road, #200 / Marietta, GA. 30067     | exponentially in the
INTERNET: arnold@audiofax.com Phone:   +1 404 933 7612 | number of children.
UUCP:	  emory!audfax!arnold Fax-box: +1 404 618 4581 |   -- Miriam Robbins

drk@athena.mit.edu (David R Kohr) (11/01/90)

In article <1990Oct30.224252.7998@athena.mit.edu> drk@athena.mit.edu (David R Kohr) writes:
>I am trying to produce a Table of Contents which includes the section number
>as well as page number for each item listed.  I am using the regular

More careful perusal of Sun's Sun/OS 4.0.3 manuals has revealed
a large document which explains how to use number registers and
strings, among many other things.  It appears that the "ms" macros
have an internal string register SN which contains the current section
number in an appropriate format; putting \*(SN in the text produces
the section numbers I need (although this isn't advertised as necessarily
being kosher in the "ms" document).

--
David R. Kohr     M.I.T. Lincoln Laboratory      Group 45 ("Radars 'R' Us")
    email:    DRK@ATHENA.MIT.EDU (preferred)  or  KOHR@LL.LL.MIT.EDU
    phone:    (617)981-0775 (work)	      or  (617)527-3908 (home)