.\" MACROES FOR POINTS (file tmac.q2) .\" .\" Th.A. Zoethout .\" .de PM \" DEFINE POINT MARKER .\" .PM [$1] . \" $1 = default marker for .PS { - } .ie \\n(.$>0 .ds Pm \\$1 .el .ds Pm - .. .de PS \" LISTS OF POINTS .\" .PS [ $1 [ $2 [ [$3] $4 ] ] ] . \" $1 = marker or conversion with .af { \*(Pm } . \" conversions: 1 i I a A (- denotes marker from .PM) . \" $2 = indentation {\n(IN } . \" $3 = point prefix { } . \" $4 = point suffix { } .ie \\n(PS=9 .Er W ".PS: maximum nesting is 9 .el \{\ .nr PS +1 .ie \\n(.$>0 .ds P\\n(PS \\$1 .el .ds P\\n(PS - .nr P\\n(PS 0 .if \&\\*(P\\n(PS\&1\& .nr P\\n(PS 1 .if \&\\*(P\\n(PS\&i\& .nr P\\n(PS 1 .if \&\\*(P\\n(PS\&I\& .nr P\\n(PS 1 .if \&\\*(P\\n(PS\&a\& .nr P\\n(PS 1 .if \&\\*(P\\n(PS\&A\& .nr P\\n(PS 1 .if \&\\*(P\\n(PS\&-\& .ds P\\n(PS \\*(Pm .nr P\\n(PS -1 .if \\n(P\\n(PS=0 .nr P\\n(PS 0 1 .af P\\n(PS \\*(P\\n(PS .nr I\\n(PS \\n(IN .if \\n(.$>1 .if !\&\\$2\&-\& .nr I\\n(PS \\$2n .ds I\\n(PS " .ds M\\n(PS " .if \\n(.$=3 .ds M\\n(PS \\$3 .if \\n(.$=4 .ds I\\n(PS \\$3 .if \\n(.$=4 .ds M\\n(PS \\$4 .ch Id .in +\\n(I\\n(PSu \} .. .de PT \" A HANGING POINT .\" .PT [ $1 ... ] . \" $1 = substitute for specification with .PS and .PM .ie \\n(PS=0 .Er W ".PT: no matching .PS .el \{\ .ie \\n(.$>0 .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 .el .ie \\n(P\\n(PS<0 .ds St \\*(I\\n(PS\\*(P\\n(PS\\*(M\\n(PS .el \{\ .af P\\n(PS \\*(P\\n(PS .ds St \\*(I\\n(PS\\n+(P\\n(PS\\*(M\\n(PS .af P\\n(PS 1\} .ch Id .if \\n(NS=0 .sp \\n(VPu .nr NS 0 .ne \\n(NDv+1v .ti -\\n(I\\n(PSu .ie (\\w\&\\*(St\&)>(\\n(I\\n(PS) \{\ \&\\*(St .br \} .el \&\\*(St\h#\\n(I\\n(PSu-\w\&\\*(St\&u#\c .rs .rm St \} .. .de PI \" AN INDENTED POINT .\" .PI [ $1 ... ] . \" $1 = substitute for specification with .PS and .PM .ie \\n(PS=0 .Er W ".PI: no matching .PS .el \{\ .ie \\n(.$>0 .Ct \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 .el .ie \\n(P\\n(PS<0 .ds St \\*(I\\n(PS\\*(P\\n(PS\\*(M\\n(PS .el \{\ .af P\\n(PS \\*(P\\n(PS .ds St \\*(I\\n(PS\\n+(P\\n(PS\\*(M\\n(PS .af P\\n(PS 1\} .ch Id .if \\n(NS=0 .sp \\n(VPu .nr NS 0 .ne \\NDv \&\\*(St\ \ \c .nr Id \w\&\\*(St\ \ \& .ie !\&\\n(.z\&\& .dt \\n(.du+1v Id .el .wh \\n(nlu+1v Id .rs .rm St \} .. .de PE \" END LIST OF POINTS .\" .PE [$1] . \" $1 = ending vertical spacings { n\(Ps } .ie \\n(PS=0 .Er W ".PE: no matching .PS .el \{\ .in -\\n(I\\n(PSu .rr P\\n(PS .rr I\\n(PS .rm P\\n(PS .rm M\\n(PS .rm I\\n(PS .nr PS -1 .ie \\n(.$>0 .sp \\$1v .el .sp \\n(VPu \} .ch Id .. .de Pe \" end all point levels .if \\n(PS>0 \{\ .PE 0 .Pe \} .. .de Id \" trap macro for indented points \\*(Ncti \\n(.iu+\\n(Idu \" This calls ti .ie !\&\\n(.z\&\& .dt .el .ch Id .. . \" INITIALIZATION .ds Pm - .\*($0 .rm $0