home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / lib / tmac / tmac.an next >
Encoding:
Text File  |  1979-01-10  |  3.8 KB  |  268 lines

  1. '    # month name
  2. .if "\nd"0" .nr m \n(mo-1
  3. .if "\nm"0" .ds ]m January
  4. .if "\nm"1" .ds ]m February
  5. .if "\nm"2" .ds ]m March
  6. .if "\nm"3" .ds ]m April
  7. .if "\nm"4" .ds ]m May
  8. .if "\nm"5" .ds ]m June
  9. .if "\nm"6" .ds ]m July
  10. .if "\nm"7" .ds ]m August
  11. .if "\nm"8" .ds ]m September
  12. .if "\nm"9" .ds ]m October
  13. .if "\nm"10" .ds ]m November
  14. .if "\nm"11" .ds ]m December
  15. '    # set the date
  16. .if n \{.nr m \nm+1
  17. .     ie \nd .ds ]W Modified \nm/\nd/\ny
  18. .     el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
  19. .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
  20. .     el .ds ]W \*(]m \n(dy, 19\n(yr\}
  21. .if t .ds ]W 7th Edition
  22. '    # reset the basic page layout
  23. .de }E
  24. .}f
  25. .in \\n()Ru+\\n(INu
  26. .ll \\n(LLu
  27. ..
  28. '    # default tabs
  29. .de DT
  30. 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
  31. ..
  32. '    # set type font and size
  33. .de }f
  34. .ps 10
  35. .ft 1
  36. ..
  37. '    # handle the head of the page
  38. .de }H
  39. .ev 1
  40. .}C
  41. 'sp .5i
  42. .ft 1
  43. .ps 10
  44. .tl @\\*(]H@\\*(]D@\\*(]H@
  45. 'sp .5i
  46. .ev
  47. .ns
  48. ..
  49. '    # handle the foot of the page
  50. .de }F
  51. .ev 1
  52. .ft 1
  53. .ps 10
  54. 'sp .5i
  55. .tl @\\*(]W@\\*(]L@%@
  56. 'bp
  57. .ev
  58. ..
  59. '    # the cut mark
  60. .if n .ig
  61. .de }C
  62. .po .1i
  63. .tl '-'
  64. .po
  65. ..
  66. '    # the final cut mark
  67. .de }M
  68. .}N
  69. .wh -1p }C
  70. .ll \\n(LLu
  71. ..
  72. '    # no runout unless there was a .TH
  73. .de }K
  74. .}N
  75. .pl 1
  76. .ll \\n(LLu
  77. ..
  78. .em }K
  79. '    # set title and heading
  80. .de TH
  81. .PD
  82. .if n .nr IN .5i
  83. .if t .nr IN .5i
  84. .nr LL \\n(.l
  85. .ds ]H \\$1\|(\|\\$2\|)
  86. .ds ]D UNIX Programmer's Manual
  87. .ds ]L \\$3
  88. .wh 0 }H
  89. .if t .wh -1i }F
  90. .if n .wh -1.167i }F
  91. .em }M
  92. .if \\n(nl .bp 1
  93. .}E
  94. .DT
  95. .nr )I .5i
  96. .nr )R 0
  97. .if n .na
  98. ..
  99. '    # section heading
  100. .de SH
  101. .}X 0
  102. .nr )E 2
  103. \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
  104. ..
  105. '    # sub section heading
  106. .de SS
  107. .}X \\n()Ru+\\n(INu
  108. \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
  109. .br
  110. ..
  111. '    # subroutine for section heading
  112. .de }X
  113. .}E
  114. .ti \\$1
  115. .sp \\n()Pu
  116. .ne 2
  117. .nr )R 0
  118. .fi
  119. .it 1 }N
  120. .SM
  121. .B
  122. ..
  123. '    # end of SH (cf }X above and }N below)
  124. .de }2
  125. .nr )E 0
  126. .}E
  127. .nr )I .5i
  128. .ns
  129. ..
  130. '    # italic
  131. .de I
  132. .ft 2
  133. .it 1 }N
  134. .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
  135. ..
  136. '    # bold
  137. .de B
  138. .ft 3
  139. .it 1 }N
  140. .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
  141. ..
  142. '    # small
  143. .de SM
  144. .ps 9
  145. .it 1 }N
  146. .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
  147. ..
  148. '    # combinations of Roman, italic, bold
  149. .de RI
  150. .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  151. ..
  152. .de RB
  153. .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  154. ..
  155. .de IR
  156. .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  157. ..
  158. .de IB
  159. .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  160. ..
  161. .de BR
  162. .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  163. ..
  164. .de BI
  165. .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
  166. ..
  167. '    # make special case of shift out of italic
  168. .de }S
  169. .ds ]F
  170. .if "\\$1"2" .if !"\\$5"" .ds ]F\^
  171. .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
  172. .el \\$3
  173. .}f
  174. ..
  175. '    # paragraph
  176. .de LP
  177. .PP
  178. ..
  179. .de PP
  180. .sp \\n()Pu
  181. .ne 2
  182. .}E
  183. .nr )I .5i
  184. .ns
  185. ..
  186. '    # paragraph distance
  187. .de PD
  188. .if t .nr )P .4v
  189. .if n .nr )P 1v
  190. .if !"\\$1"" .nr )P \\$1v
  191. ..
  192. '    # hanging indent
  193. .de HP
  194. .sp \\n()Pu
  195. .ne 2
  196. .if !"\\$1"" .nr )I \\$1n
  197. .ll \\n(LLu
  198. .in \\n()Ru+\\n(INu+\\n()Iu
  199. .ti \\n()Ru+\\n(INu
  200. .}f
  201. ..
  202. '    # indented paragraph
  203. .de IP
  204. .TP \\$2
  205. \&\\$1
  206. ..
  207. '    # hanging label
  208. .de TP
  209. .if !"\\$1"" .nr )I \\$1n
  210. .sp \\n()Pu
  211. .in \\n()Ru
  212. .nr )E 1
  213. .ns
  214. .it 1 }N
  215. .di ]B
  216. ..
  217. '    # end of TP (cf }N below)
  218. .de }1
  219. .ds ]X \&\\*(]B\\
  220. .nr )E 0
  221. .if !"\\$1"" .nr )I \\$1n
  222. .}f
  223. .ll \\n(LLu
  224. .in \\n()Ru+\\n(INu+\\n()Iu
  225. .ti \\n(INu
  226. .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
  227. .br\}
  228. .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
  229. .}f
  230. ..
  231. '    # handle end of 1-line features
  232. .de }N
  233. .if \\n()E .br
  234. .di
  235. .if "\\n()E"0" .}f
  236. .if "\\n()E"1" .}1
  237. .if "\\n()E"2" .}2
  238. .nr )E 0
  239. ..
  240. '    # increase relative indent
  241. .de RS
  242. .nr ]\\n+()p \\n()I
  243. .nr )\\n()p \\n()R
  244. .ie !"\\$1"" .nr )R +\\$1n
  245. .el .nr )R +\\n()I
  246. .nr )I .5i
  247. .}E
  248. ..
  249. '    # decrease relative indent
  250. .de RE
  251. .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
  252. .        el .nr )p \\$1 1\}
  253. .ds ]i \\*(]I\\n()p
  254. .ds ]r \\*(]R\\n()p
  255. .nr )I \\*(]i
  256. .nr )R \\*(]r
  257. .if \\n()p .nr )p -1
  258. .}E
  259. ..
  260. .nr )p 0 1
  261. .ds ]I \\\\n(]
  262. .ds ]R \\\\n()
  263. .bd S 3 3
  264. .if t .ds R \(rg
  265. .if n .ds R (Reg.)
  266. .ds S \s10
  267. .hy 14
  268.