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
 |