.# macros for numbered paragraphs and table-of-contents
.de h1
.bp
@[set 2 -1]@[set 3 -1]@[set 4 -1].#
.bf
@[num +1]\@[1]
.sp
.dv 1
#sp 2
#bf
@[num 1]  @[1]%@[tcpn]
.dv
.en h1
.de h2
.ne 5
@[set 3 -1]@[set 4 -1].#
.sp 2
.bf
@[num 1].@[num +2]\@[1]
.dv 1
#sp
.# 4 phantom blanks at beginning of next line:
    @[num 1].@[num 2]  @[1]%@[tcpn]
.dv
.en h2
.de h3
.ne 7
@[set 4 -1].#
.sp 2
.bf
@[num 1].@[num 2].@[num +3]\@[1]
.dv 1
.# 10 phantom blanks at beginning of next line:
           @[num 1].@[num 2].@[num 3]   @[1]%@[tcpn]
.dv
.en h3
.de p2
.ne 3
.sp
.bf
@[num 1].@[num +2]\
.en p2
.de p3
.ne 3
.sp
.bf
@[num 1].@[num 2].@[num +3]\
.en p3
.de p4
.ne 3
.sp
.bf
@[num 1].@[num 2].@[num 3].@[num +4]\
.en p4
.de ix
`dv 2
@[1]%@[tcpn]
`dv
.en ix
