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