117 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
	
		
			2.6 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
.\"	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
 |