118 lines
2.6 KiB
Plaintext
118 lines
2.6 KiB
Plaintext
.\" 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
|