tmac.q3 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. .\" MACROES FOR DISPLAYS (file tmac.q3)
  2. .\"
  3. .\" Th.A. Zoethout
  4. .\"
  5. .de DB \" SET DISPLAY [NO-]BREAK DEFAULT
  6. .\" .DB [$1]
  7. . \" $1 = display mode Break, No break. { B }
  8. . \" initially display mode is N
  9. .ie \&\\$1\&N\& .nr DB 0
  10. .el .nr DB 1
  11. ..
  12. .de DS \" START DISPLAY
  13. .\" .DS [ [$1] $2 [ $3 [$4] ] ] [ $5 [ $6 [$7] ] [$8]
  14. . \" $1 = mark for Marked and boXed display { | }
  15. . \" $2 = Marked or boXed display { - }
  16. . \" $3 = Left indent (L1) Marked and boXed display { 0 }
  17. . \" $4 = Right indent (R1) boXed display { L1 }
  18. . \" $5 = Indented or Quoted display { - }
  19. . \" { M implies I, X implies Q }
  20. . \" $6 = Left indent (L2) for I and Q { -:0, IQ:\n(IN }
  21. . \" $7 = Right indent (R2) for Q { L2 }
  22. . \" $8 = [No-] break { \n(DB }
  23. .ie \\n(DS=1 .Er W ".DS: nested displays are not allowed
  24. .el \{\
  25. .nr DS 1
  26. .ds D1 \\$1
  27. .ds D2 \\$1
  28. .ds D3 \\$1
  29. .ds D4 \\$1
  30. .nr DE 0
  31. .if \&\\$2\&M\& .nr DE 1
  32. .if \&\\$2\&X\& .nr DE 1
  33. .if \\n(DE=0 \{\
  34. .ds D1 \&
  35. .ds D2 \(ul
  36. .ds D3 \(br
  37. .ds D4 \z\(br\}
  38. .Dt 0 0 0 0 0 0
  39. .ie \&\\$\\n(DE\&M\& .Dt 1 1 0 \\n(IN 0 0
  40. .el .if \&\\$\\n(DE\&X\& .Dt 2 2 0 \\n(IN \\n(IN 0
  41. .if \\n(Dt>0 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
  42. .nr D1 \\$\\n(DEn
  43. .nr DE +1 \}
  44. .if \\n(Dt=2 .nr D4 \\n(D1
  45. .if \\n(Dt=2 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
  46. .nr D4 \\$\\n(DEn
  47. .nr DE +1 \}
  48. .ie \&\\$\\n(DE\&I\& .Dt \\n(Dt 1 \\n(D1 \\n(IN 0 \\n(D4
  49. .el .if \&\\$\\n(DE\&Q\& .Dt \\n(Dt 2 \\n(D1 \\n(IN \\n(IN \\n(D4
  50. .if \\n(Da>0 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
  51. .nr D2 \\$\\n(DEn
  52. .nr DE +1 \}
  53. .if \\n(Da=2 .nr D3 \\n(D2
  54. .if \\n(Da=2 .if \\n(DE<=\\n(.$ .if (\\$\\n(DE)=(\\$\\n(DE) \{\
  55. .nr D3 \\$\\n(DEn
  56. .nr DE +1 \}
  57. .nr DE \\n(.u
  58. .ie \\n(Da<2 .nf
  59. .el .fi
  60. .if \&\\$\\n(.$\&B\& .nr Da 1
  61. .if \&\\$\\n(.$\&N\& .nr Da 0
  62. .if \&\\$\\n(.$\&\& .nr Da \\n(DB
  63. .if \\n(Dt=0 .Dt 0 \\n(Da \\n(D2 0 0 \\n(D3
  64. .if \\n(NS=0 .sp \\n(VSu
  65. .nr NS 0
  66. .ch Id
  67. .ne \\n(NDv
  68. .nr Dx \\n(.i
  69. .nr Dy \\n(.l
  70. .in 0
  71. .ti \\n(.iu
  72. .ll \\n(Dyu-\\n(D1u-\\n(D2u-\\n(D3u-\\n(D4u-\\n(Dtn
  73. .di Dx \}
  74. ..
  75. .de DE \" DISPLAY END
  76. .\" .DE [$1]
  77. . \" $1 = succeeding vertical spacing { \n(VS }
  78. .ie \\n(DS=0 .Er W ".DE: no matching .DS
  79. .el \{\
  80. .br
  81. .di
  82. .nf
  83. .ll +\\n(D2u
  84. .ie \\n(Dt>0 .ds Da \&\\*(D3\h#\\n(D2u#
  85. .el .ds Da \&
  86. .nr Dm \\n(dn 1v
  87. .nr D2 0 1v
  88. .ev 0
  89. .di Dy
  90. .if \\n(Dt=2 \&\\*(D1\l#\\n(Dyu-\\n(Dxu-\\n(D1u-\\n(D4u-2u*\w'\\*(D1'u\&\\*(D2#\\*(D1
  91. .if \\n(Dt=2 .mc \\*(D3 \\n(D3u+1n
  92. .cc 
  93. Dm
  94. Dx
  95. cc
  96. .rm Dx
  97. .mc
  98. .if \\n(Dt=2 \&\\*(D4\l#\\n(Dyu-\\n(Dxu-\\n(D1u-\\n(D4u-2u*\w'\\*(D4'u\&\\*(D2#\\*(D4
  99. .di
  100. .ev
  101. .in \\n(Dxu+\\n(D1u
  102. .ll \\n(Dyu-\\n(D4u
  103. .if \\n(Da=0 .if \\n(dn>\\n(.t .bp
  104. .Dy
  105. .ie \\n(.$>0 .sp \\$1v
  106. .el .sp \\n(VSu
  107. .rs
  108. .in \\n(Dxu
  109. .ll \\n(Dyu
  110. .nr DS 0
  111. .if \\n(DE>0 .fi
  112. .ch Id
  113. .rr DE
  114. .rr D1
  115. .rr D2
  116. .rr D3
  117. .rr D4
  118. .rr Da
  119. .rr Dm
  120. .rr Dt
  121. .rr Dx
  122. .rr Dy
  123. .rm D1
  124. .rm D2
  125. .rm D3
  126. .rm D4
  127. .rm Da
  128. .rm Dy \}
  129. ..
  130. .de Dt \" set display parameters
  131. . \" $1 = type
  132. . \" $2 = mode
  133. . \" $3 $4 $5 $6 = D1 D2 D3 D4
  134. .nr Dt \\$1
  135. .nr Da \\$2
  136. .nr D1 \\$3
  137. .nr D2 \\$4
  138. .nr D3 \\$5
  139. .nr D4 \\$6
  140. .nr DE +1
  141. ..
  142. .de Dm \" marking or protecting lines in second diversion
  143. \\*(Da\c
  144. ie \\n-(Dm>0 dt \\n+(D2u Dm
  145. el dt
  146. ..
  147. . \" INITIALIZATION
  148. .nr DB 0
  149. .\*($0
  150. .rm $0