|
|
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: . subheading ! 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: . begin paragraph ! 66: .de PP ! 67: .Np ! 68: .nr *\\n(*P 5n ! 69: .nr *\\n+(*P 5n ! 70: .nr =\\n+(=P 0 ! 71: .ns ! 72: .. ! 73: .de DS \" Indented display (sleazy version) ! 74: .LP ! 75: .sp ! 76: .nf ! 77: .ne 5 ! 78: .in +5n ! 79: .. ! 80: .de DE \" End display ! 81: .in -5n ! 82: .ne 0 ! 83: .LP ! 84: .sp ! 85: .. ! 86: .de MS \" Machine-specific start (will take list of machines) ! 87: .. ! 88: .de ME \" Machine-specific end ! 89: .. ! 90: . begin left-justified (block) paragraph ! 91: .de LP ! 92: .Np ! 93: .nr *\\n(*P 5n ! 94: .nr *\\n+(*P 5n ! 95: .nr =\\n+(=P 0 ! 96: .ns ! 97: .. ! 98: . begin hanging paragraph ! 99: .de HP ! 100: .Np ! 101: .nr {c \\n(*\\n(*P ! 102: .if \\n(.$ \{\ ! 103: .nr {c \\$1n ! 104: .nr *\\n(*P \\n({c\} ! 105: .nr *\\n+(*P \\n({c ! 106: .nr =\\n+(=P \\n({c ! 107: .in +\\n({cu ! 108: .ti -\\n({cu ! 109: .ns ! 110: .. ! 111: . begin indented paragraph ! 112: .de IP ! 113: .Np ! 114: .nr {c \\n(*\\n(*P ! 115: .if \\n(.$>1 \{\ ! 116: .nr {c \\$2n ! 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: .if \\n(.$ .ds {a "\\$1 ! 123: .if !\\n(.$ .ds {a ! 124: \&\\*({a ! 125: .if \\n({c-\w'\\*({a'<1m .br ! 126: .if \\n({c-\w'\\*({a'>=1m \h'|\\n(.i'\c ! 127: .ns ! 128: .. ! 129: . display within an indented paragraph ! 130: .de ID ! 131: .sp ! 132: .nf ! 133: .ft L ! 134: .. ! 135: .de IE ! 136: .sp ! 137: .fi ! 138: .ft R ! 139: .. ! 140: . begin tagged paragraph ! 141: .de TP ! 142: .Np ! 143: .nr {c \\n(*\\n(*P ! 144: .if \\n(.$ \{\ ! 145: .nr {c \\$1n ! 146: .nr *\\n(*P \\n({c\} ! 147: .nr *\\n+(*P \\n({c ! 148: .nr =\\n+(=P \\n({c ! 149: .in +\\n({cu ! 150: .ti -\\n({cu ! 151: .ev 2 ! 152: .di {b ! 153: .it 1 T- ! 154: .. ! 155: . begin relative indent ! 156: .de RS ! 157: .nr {c \\n(*\\n(*P ! 158: .if \\n(.$ \{\ ! 159: .nr {c \\$1n ! 160: .nr *\\n(*P \\n({c\} ! 161: .nr *\\n+(*P \\n({c ! 162: .nr *\\n+(*P \\n({c ! 163: .nr {c -\\n(=\\n(=P ! 164: .nr =\\n+(=P \\n({c ! 165: .nr =\\n+(=P 0 ! 166: .in +\\n({cu ! 167: .. ! 168: . end relative indent ! 169: .de RE ! 170: .nr *P -2 1 ! 171: .in -\\n(=\\n(=Pu ! 172: .in -\\n(=\\n-(=Pu ! 173: .nr =P -1 1 ! 174: .. ! 175: . begin help ! 176: .de HS ! 177: .ig HE ! 178: .. ! 179: . end help ! 180: .de HE ! 181: .. ! 182: . bold font ! 183: .de B ! 184: .if \\n(.$>0 \\fB\\$1\\fP ! 185: .if \\n(.$=0 .ft B ! 186: .. ! 187: . bold/italic fonts ! 188: .de BI ! 189: .Af B I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 190: .. ! 191: . bold/roman fonts ! 192: .de BR ! 193: .Af B R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 194: .. ! 195: .de R ! 196: .if \\n(.$>0 \\fR\\$1\\fP ! 197: .if \\n(.$=0 .ft R ! 198: .. ! 199: . italic font ! 200: .de I ! 201: .if \\n(.$>0 \\fI\\$1\\fP ! 202: .if \\n(.$=0 .ft I ! 203: .. ! 204: . italic/bold fonts ! 205: .de IB ! 206: .Af I B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 207: .. ! 208: . italic/roman fonts ! 209: .de IR ! 210: .Af I R \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 211: .. ! 212: . roman/bold fonts ! 213: .de RB ! 214: .Af R B \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 215: .. ! 216: . roman/italic fonts ! 217: .de RI ! 218: .Af R I \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 219: .. ! 220: . set default tabs ! 221: .de DT ! 222: .if \\n(.$ .ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 ! 223: .if !\\n(.$ .ta 5 10 15 20 25 30 ! 224: .. ! 225: . set interparagraph distance ! 226: .de PD ! 227: .if \\n(.$ .nr pD \\$1v ! 228: .if !\\n(.$ .nr pD 1v ! 229: .. ! 230: . small letters ! 231: .de SM ! 232: .Xa \\n(.$ "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" ! 233: .. ! 234: .\" ! 235: .\" internal macros ! 236: .\" ! 237: .de II \" Index invisible ! 238: .if \nG=0 .tm %\\$1=\\n# ! 239: .. ! 240: .de S- \" cleanup .SH ! 241: .br ! 242: .ft P ! 243: .in 5n ! 244: .ns ! 245: .. ! 246: .de Np \" new paragraph ! 247: .in -\\n(=\\n(=Pu ! 248: .nr *P -1 1 ! 249: .nr =P -1 1 ! 250: .sp \\n(pDu ! 251: .ne 2 ! 252: .ft R ! 253: .fi ! 254: .. ! 255: .de T- \" cleanup .TP ! 256: .br ! 257: .di ! 258: .ev ! 259: .{b ! 260: .if \\n(*\\n(*P-\\n(dl<1m .br ! 261: .if \\n(*\\n(*P-\\n(dl>=1m \h'|\\n(.i'\c ! 262: .. ! 263: .de Pf \" set previous font ! 264: .br ! 265: .di ! 266: .ev ! 267: .{e ! 268: .. ! 269: .de Af \" alternating fonts ! 270: .if \\$3>1 \f\\$1\\$4\fP\f\\$2\\$5\fP ! 271: .if \\$3>3 \f\\$1\\$6\fP\f\\$2\\$7\fP ! 272: .if \\$3>5 \f\\$1\\$8\fP\f\\$2\\$9\fP ! 273: .. ! 274: .de Xa \" expand arguments ! 275: .if \\$1>0 \&\\$2 ! 276: .if \\$1>1 \&\\$3 ! 277: .if \\$1>2 \&\\$4 ! 278: .if \\$1>3 \&\\$5 ! 279: .if \\$1>4 \&\\$6 ! 280: .if \\$1>5 \&\\$7 ! 281: .. ! 282: .de Rr \" reset regs ! 283: .nr pD 1v ! 284: .nr *P 1 1 ! 285: .af *P a ! 286: .nr =P 1 1 ! 287: .af =P a ! 288: .nr *a 5n ! 289: .nr =a 0 ! 290: .. ! 291: .de Pr \" push top reg on each stack ! 292: .nr {d \\n(*\\n(*P ! 293: .nr *\\n+(*P \\n({d ! 294: .nr {d \\n(=\\n(=P ! 295: .nr =\\n+(=P \\n({d ! 296: .. ! 297: .de he \" the header ! 298: 'sp 2 ! 299: .tl \\*(tH ! 300: 'sp 3 ! 301: .. ! 302: .de fo \" the footer ! 303: 'sp 2 ! 304: .tl \\*(tF ! 305: 'bp ! 306: .. ! 307: .\" ! 308: .\" general initialization ! 309: .\" ! 310: .wh -5 fo ! 311: .ds - -
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.