|
|
1.1 ! root 1: .\" /usr/lib/tmac.an 10/12/83 V1.2 ! 2: .\" COHERENT manual nroff macro package ! 3: .\" Copyright (c) 1981-1990 by Mark Williams Company, Chicago. ! 4: .\" All rights reserved. May not be copied or disclosed without permission. ! 5: .\" New macros added by fwb to support Lexicon files, 4/21/1990. ! 6: .\" ! 7: .\" environment usage: ! 8: .\" 0 input-line-count traps for argument collecting ! 9: .\" 1 input-line-count traps for font macros ! 10: .\" 2 indentation-free diversion processing ! 11: .\" global regs: ! 12: .\" cP current page number ! 13: .\" pD interparagraph distance ! 14: .\" *P pointer to "*" stack ! 15: .\" =P pointer to "=" stack ! 16: .\" global strings: ! 17: .\" tH the header title ! 18: .\" tF the footer title ! 19: .\" stack usage: ! 20: .\" * holds the prevailing indent value for that level ! 21: .\" = holds the increment of indentation taken for that level ! 22: .\" ! 23: . ! 24: . ! 25: .\" ! 26: .\" ! 27: .\" user-called macros ! 28: .\" ! 29: . the header macro ! 30: .de CO ! 31: COHERENT ! 32: .. ! 33: .de TH ! 34: .wh 0 ! 35: .if \\n(nl .bp 0 ! 36: .nr pN 0 1 ! 37: .Rr ! 38: .ds tH "'\fB\\$1\fP'\\$4'\fB\\$1\fP'" ! 39: .ds tF "'COHERENT \\$3 Manual'\\$2'Page \\\\n+(pN'" ! 40: .in 0 ! 41: .he ! 42: .wh 0 he ! 43: .. ! 44: . slug that describes function. Under Lexicon macros, does lots of stuff ! 45: .de PC ! 46: .if \\n(.$ \\$1 ! 47: .. ! 48: .de TL ! 49: .tm tmac.an: there is no such macro `.TL'; please use `.TH' ! 50: .ab ! 51: .. ! 52: . section heading ! 53: .de SH ! 54: .br ! 55: .sp \\n(pDu ! 56: .Rr ! 57: .Pr ! 58: .fi ! 59: .in 0 ! 60: .ne 3 ! 61: .ft B ! 62: .it 1 S- ! 63: .if \\n(.$ .Xa \\n(.$ "*** \\$1 ***" "*** \\$2 ***" "*** \\$3 ***" "\\$4" "\\$5" "\\$6" ! 64: .. ! 65: . subsection heading ! 66: .de SS ! 67: .br ! 68: .sp \\n(pDu ! 69: .Rr ! 70: .Pr ! 71: .fi ! 72: .in 5n ! 73: .ne 3 ! 74: .ft B ! 75: .it 1 S- ! 76: .if \\n(.$ .Xa \\n(.$ "*** \\$1 ***" "*** \\$2 ***" "*** \\$3 ***" "\\$4" "\\$5" "\\$6" ! 77: .. ! 78: . begin paragraph ! 79: .de PP ! 80: .Np ! 81: .nr *\\n(*P 5n ! 82: .nr *\\n+(*P 5n ! 83: .nr =\\n+(=P 0 ! 84: .ns ! 85: .. ! 86: .de DS \" Indented display (sleazy version) ! 87: .LP ! 88: .sp ! 89: .nf ! 90: .ne 5 ! 91: .in +5n ! 92: .. ! 93: .de DE \" End display ! 94: .in -5n ! 95: .ne 0 ! 96: .LP ! 97: .sp ! 98: .. ! 99: .de MS \" Machine-specific start (will take list of machines) ! 100: .. ! 101: .de ME \" Machine-specific end ! 102: .. ! 103: . begin left-justified (block) paragraph ! 104: .de LP ! 105: .Np ! 106: .nr *\\n(*P 5n ! 107: .nr *\\n+(*P 5n ! 108: .nr =\\n+(=P 0 ! 109: .ns ! 110: .. ! 111: . begin hanging paragraph ! 112: .de HP ! 113: .Np ! 114: .nr {c \\n(*\\n(*P ! 115: .if \\n(.$ \{\ ! 116: .nr {c \\$1n ! 117: .nr *\\n(*P \\n({c\} ! 118: .nr *\\n+(*P \\n({c ! 119: .nr =\\n+(=P \\n({c ! 120: .in +\\n({cu ! 121: .ti -\\n({cu ! 122: .ns ! 123: .. ! 124: . begin indented paragraph ! 125: .de IP ! 126: .Np ! 127: .nr {c \\n(*\\n(*P ! 128: .if \\n(.$>1 \{\ ! 129: .nr {c \\$2n ! 130: .nr *\\n(*P \\n({c\} ! 131: .nr *\\n+(*P \\n({c ! 132: .nr =\\n+(=P \\n({c ! 133: .in +\\n({cu ! 134: .ti -\\n({cu ! 135: .if \\n(.$ .ds {a "\\$1 ! 136: .if !\\n(.$ .ds {a ! 137: \&\\*({a ! 138: .if \\n({c-\w'\\*({a'<1m .br ! 139: .if \\n({c-\w'\\*({a'>=1m \h'|\\n(.i'\c ! 140: .ns ! 141: .. ! 142: . display within an indented paragraph ! 143: .de ID ! 144: .sp ! 145: .nf ! 146: .ft L ! 147: .. ! 148: .de IE ! 149: .sp ! 150: .fi ! 151: .ft R ! 152: .. ! 153: . begin tagged paragraph ! 154: .de TP ! 155: .Np ! 156: .nr {c \\n(*\\n(*P ! 157: .if \\n(.$ \{\ ! 158: .nr {c \\$1n ! 159: .nr *\\n(*P \\n({c\} ! 160: .nr *\\n+(*P \\n({c ! 161: .nr =\\n+(=P \\n({c ! 162: .in +\\n({cu ! 163: .ti -\\n({cu ! 164: .ev 2 ! 165: .di {b ! 166: .it 1 T- ! 167: .. ! 168: . begin relative indent ! 169: .de RS ! 170: .nr {c \\n(*\\n(*P ! 171: .if \\n(.$ \{\ ! 172: .nr {c \\$1n ! 173: .nr *\\n(*P \\n({c\} ! 174: .nr *\\n+(*P \\n({c ! 175: .nr *\\n+(*P \\n({c ! 176: .nr {c -\\n(=\\n(=P ! 177: .nr =\\n+(=P \\n({c ! 178: .nr =\\n+(=P 0 ! 179: .in +\\n({cu ! 180: .. ! 181: . end relative indent ! 182: .de RE ! 183: .nr *P -2 1 ! 184: .in -\\n(=\\n(=Pu ! 185: .in -\\n(=\\n-(=Pu ! 186: .nr =P -1 1 ! 187: .. ! 188: . begin help ! 189: .de HS ! 190: .ig HE ! 191: .. ! 192: . end help ! 193: .de HE ! 194: .. ! 195: . bold font ! 196: .de B ! 197: .if \\n(.$>0 \\fB\\$1\\fP ! 198: .if \\n(.$=0 .ft B ! 199: .. ! 200: . bold/italic fonts ! 201: .de BI ! 202: .Af B I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 203: .. ! 204: . bold/roman fonts ! 205: .de BR ! 206: .Af B R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 207: .. ! 208: .de R ! 209: .if \\n(.$>0 \\fR\\$1\\fP ! 210: .if \\n(.$=0 .ft R ! 211: .. ! 212: . italic font ! 213: .de I ! 214: .if \\n(.$>0 \\fI\\$1\\fP ! 215: .if \\n(.$=0 .ft I ! 216: .. ! 217: . italic/bold fonts ! 218: .de IB ! 219: .Af I B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 220: .. ! 221: . italic/roman fonts ! 222: .de IR ! 223: .Af I R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 224: .. ! 225: . roman/bold fonts ! 226: .de RB ! 227: .Af R B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 228: .. ! 229: . roman/italic fonts ! 230: .de RI ! 231: .Af R I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 232: .. ! 233: . set default tabs ! 234: .de DT ! 235: .if \\n(.$ .ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 ! 236: .if !\\n(.$ .ta 5 10 15 20 25 30 ! 237: .. ! 238: . set interparagraph distance ! 239: .de PD ! 240: .if \\n(.$ .nr pD \\$1v ! 241: .if !\\n(.$ .nr pD 1v ! 242: .. ! 243: . small letters ! 244: .de SM ! 245: .Xa \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 246: .. ! 247: .\" ! 248: .\" internal macros ! 249: .\" ! 250: .de II \" Index invisible ! 251: .if \nG=0 .tm %\\$1=\\n# ! 252: .. ! 253: .de S- \" cleanup .SH ! 254: .br ! 255: .ft P ! 256: .in 5n ! 257: .ns ! 258: .. ! 259: .de Np \" new paragraph ! 260: .in -\\n(=\\n(=Pu ! 261: .nr *P -1 1 ! 262: .nr =P -1 1 ! 263: .sp \\n(pDu ! 264: .ne 2 ! 265: .ft R ! 266: .fi ! 267: .. ! 268: .de T- \" cleanup .TP ! 269: .br ! 270: .di ! 271: .ev ! 272: .{b ! 273: .if \\n(*\\n(*P-\\n(dl<1m .br ! 274: .if \\n(*\\n(*P-\\n(dl>=1m \h'|\\n(.i'\c ! 275: .. ! 276: .de Pf \" set previous font ! 277: .br ! 278: .di ! 279: .ev ! 280: .{e ! 281: .. ! 282: .de Af \" alternating fonts ! 283: .if \\$3>1 \f\\$1\\$4\fP\f\\$2\\$5\fP ! 284: .if \\$3>3 \f\\$1\\$6\fP\f\\$2\\$7\fP ! 285: .if \\$3>5 \f\\$1\\$8\fP\f\\$2\\$9\fP ! 286: .. ! 287: .de Xa \" expand arguments ! 288: .if \\$1>0 \&\\$2 ! 289: .if \\$1>1 \&\\$3 ! 290: .if \\$1>2 \&\\$4 ! 291: .if \\$1>3 \&\\$5 ! 292: .if \\$1>4 \&\\$6 ! 293: .if \\$1>5 \&\\$7 ! 294: .. ! 295: .de Rr \" reset regs ! 296: .nr pD 1v ! 297: .nr *P 1 1 ! 298: .af *P a ! 299: .nr =P 1 1 ! 300: .af =P a ! 301: .nr *a 5n ! 302: .nr =a 0 ! 303: .. ! 304: .de Pr \" push top reg on each stack ! 305: .nr {d \\n(*\\n(*P ! 306: .nr *\\n+(*P \\n({d ! 307: .nr {d \\n(=\\n(=P ! 308: .nr =\\n+(=P \\n({d ! 309: .. ! 310: .de he \" the header ! 311: 'sp 2 ! 312: .tl \\*(tH ! 313: 'sp 3 ! 314: .. ! 315: .de fo \" the footer ! 316: 'sp 2 ! 317: .tl \\*(tF ! 318: 'bp ! 319: .. ! 320: .\" ! 321: .\" general initialization ! 322: .\" ! 323: .wh -5 fo ! 324: .ds - -
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.