Annotation of researchv10no/cmd/worm/scsi/tcl/tmac.sprite, revision 1.1.1.1

1.1       root        1: .\" This file contains a combination of the BSD -man macros and the Sprite
                      2: .\" man macro additions which are stored in tmac.sprite.  This file is
                      3: .\" useful for sending to UNIX systems with Sprite man pages, so that the
                      4: .\" man pages may be formatted correctly.
                      5: .\"
                      6: .\" Copyright (c) 1980 Regents of the University of California.
                      7: .\" All rights reserved.  The Berkeley software License Agreement
                      8: .\" specifies the terms and conditions for redistribution.
                      9: .\"
                     10: .\"    @(#)tmac.an.new 6.3 (Berkeley) 2/2/86
                     11: .\"
                     12: '      DT, PD, SM, and B macros invoked internally.
                     13: '      # month name
                     14: .if "\nd"0" .nr m \n(mo-1
                     15: .if "\nm"0" .ds ]m January
                     16: .if "\nm"1" .ds ]m February
                     17: .if "\nm"2" .ds ]m March
                     18: .if "\nm"3" .ds ]m April
                     19: .if "\nm"4" .ds ]m May
                     20: .if "\nm"5" .ds ]m June
                     21: .if "\nm"6" .ds ]m July
                     22: .if "\nm"7" .ds ]m August
                     23: .if "\nm"8" .ds ]m September
                     24: .if "\nm"9" .ds ]m October
                     25: .if "\nm"10" .ds ]m November
                     26: .if "\nm"11" .ds ]m December
                     27: '      # set the date
                     28: .if n \{.nr m \nm+1
                     29: .       ie \nd .ds ]W Modified \nm/\nd/\ny
                     30: .       el .ds ]W Printed \n(mo/\n(dy/\n(yr\}
                     31: .if t \{.ie \nd .ds ]W \*(]m \nd, 19\ny
                     32: .       el .ds ]W \*(]m \n(dy, 19\n(yr\}
                     33: .if t .ds ]W Sprite version 1.0
                     34: .if n .ds ]W Sprite v1.0
                     35: .if t .tr *\(**
                     36: .ie n \{\
                     37: .      ds lq \&"\"
                     38: .      ds rq \&"\"
                     39: .\}
                     40: .el \{\
                     41: .      ds rq ''
                     42: .      ds lq ``
                     43: .\}
                     44: '      # reset the basic page layout
                     45: .de }E
                     46: .}f
                     47: .in \\n()Ru+\\n(INu
                     48: .ll \\n(LLu
                     49: ..
                     50: '      # default tabs
                     51: .de DT
                     52: 'ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
                     53: ..
                     54: '      # set type font and size
                     55: .de }f
                     56: .ps 10
                     57: .ft 1
                     58: ..
                     59: '      # handle the head of the page
                     60: .de }H
                     61: .ev 1
                     62: .}C
                     63: .ie "\*(.T"va" 'sp .1i
                     64: .el 'sp .5i
                     65: .ft 1
                     66: .ps 10
                     67: .tl @\\*(]H@\\*(]D@\\*(]H@
                     68: 'sp .5i
                     69: .ev
                     70: .ns
                     71: ..
                     72: '      # handle the foot of the page
                     73: .de }F
                     74: .ev 1
                     75: .ft 1
                     76: .ps 10
                     77: 'sp .5i
                     78: .tl @\\*(]W@\\*(]L@%@
                     79: 'bp
                     80: .ev
                     81: ..
                     82: '      # the cut mark
                     83: .if !"\*(.T"vp" .ig
                     84: .de }C
                     85: .po 0i
                     86: .lt 7.45i
                     87: .tl '__''__'
                     88: .po
                     89: .lt
                     90: ..
                     91: '      # the final cut mark
                     92: .de }M
                     93: .}N
                     94: .wh -1p }C
                     95: .ll \\n(LLu
                     96: ..
                     97: '      # no runout unless there was a .TH
                     98: .de }K
                     99: .}N
                    100: .pl 1
                    101: .ll \\n(LLu
                    102: ..
                    103: .em }K
                    104: '      # set title and heading
                    105: .de TH
                    106: .PD
                    107: .if n .nr IN .5i
                    108: .if t .nr IN .5i
                    109: .nr LL \\n(.l
                    110: .ds ]H \\$1
                    111: .ds ]D UNKNOWN MANUAL SECTION
                    112: .if '\\$2'1' .ds ]D User Commands
                    113: .if '\\$2'1C' .ds ]D User Commands
                    114: .if '\\$2'1L' .ds ]D User Commands
                    115: .if '\\$2'6' .ds ]D Games and Demos
                    116: .if '\\$2'7' .ds ]D Tables
                    117: .if '\\$2'2' .ds ]D C Library Procedures
                    118: .if '\\$2'3' .ds ]D C Library Procedures
                    119: .if '\\$2'3C' .ds ]D C Library Procedures
                    120: .if '\\$2'3F' .ds ]D Fortran Library Procedures
                    121: .if '\\$2'3S' .ds ]D C Library Procedures
                    122: .if '\\$2'3M' .ds ]D Mathematical Library Procedures
                    123: .if '\\$2'3N' .ds ]D C Library Procedures
                    124: .if '\\$2'3R' .ds ]D RPC Services
                    125: .if '\\$2'3X' .ds ]D C Library Procedures
                    126: .if '\\$2'5' .ds ]D File Formats
                    127: .if '\\$2'4' .ds ]D Devices
                    128: .if '\\$2'8' .ds ]D User Commands
                    129: .ds ]L\"
                    130: .if !"\\$3"" .ds ]L \\$3
                    131: .if !"\\$4"" .ds ]W \\$4
                    132: .wh 0 }H
                    133: .if t .if !"\*(.T"va" .wh -1i }F
                    134: .if t .if "\*(.T"va" .wh -1.4i }F
                    135: .if n .wh -1.167i }F
                    136: .em }M
                    137: .if \\n(nl .bp 1
                    138: .}E
                    139: .DT
                    140: .nr )I .5i
                    141: .nr )R 0
                    142: .if n .na
                    143: ..
                    144: '      # section heading
                    145: .de SH
                    146: .ss 12
                    147: .if "\\$1"SYNOPSIS" .ss 18
                    148: .}X 0
                    149: .nr )E 2
                    150: .SM
                    151: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
                    152: ..
                    153: '      # sub section heading
                    154: .de SS
                    155: .ne 4
                    156: .}X \\n()Ru+\\n(INu ""
                    157: \&\\$1 \|\\$2 \|\\$3 \|\\$4 \|\\$5 \|\\$6
                    158: .br
                    159: ..
                    160: '      # subroutine for section heading
                    161: .de }X
                    162: .}E
                    163: .ti \\$1
                    164: .sp \\n()Pu
                    165: .ne 2
                    166: .nr )R 0
                    167: .fi
                    168: .it 1 }N
                    169: .B
                    170: ..
                    171: '      # end of SH (cf }X above and }N below)
                    172: .de }2
                    173: .nr )E 0
                    174: .}E
                    175: .nr )I .5i
                    176: .ns
                    177: ..
                    178: '      # italic
                    179: .de I
                    180: .ft 2
                    181: .it 1 }N
                    182: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
                    183: ..
                    184: '      # bold
                    185: .de B
                    186: .ft 3
                    187: .it 1 }N
                    188: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
                    189: ..
                    190: '      # small
                    191: .de SM
                    192: .ps 9
                    193: .it 1 }N
                    194: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
                    195: ..
                    196: '      # combinations of Roman, italic, bold
                    197: .de RI
                    198: .}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    199: ..
                    200: .de RB
                    201: .}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    202: ..
                    203: .de IR
                    204: .}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    205: ..
                    206: .de IB
                    207: .}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    208: ..
                    209: .de BR
                    210: .}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    211: ..
                    212: .de BI
                    213: .}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
                    214: ..
                    215: '      # make special case of shift out of italic
                    216: .de }S
                    217: .ds ]F
                    218: .if "\\$1"2" .if !"\\$5"" .ds ]F\^
                    219: .ie !"\\$4"" .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(]F" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
                    220: .el \\$3
                    221: .}f
                    222: ..
                    223: '      # paragraph
                    224: .de LP
                    225: .PP
                    226: ..
                    227: .de PP
                    228: .sp \\n()Pu
                    229: .ne 1.1v
                    230: .}E
                    231: .nr )I .5i
                    232: .ns
                    233: ..
                    234: '      # synonym for .PP
                    235: .de P
                    236: .PP
                    237: ..
                    238: '      # paragraph distance
                    239: .de PD
                    240: .if t .nr )P .4v
                    241: .if n .nr )P 1v
                    242: .if !"\\$1"" .nr )P \\$1v
                    243: ..
                    244: '      # paragraph with hanging indent
                    245: .de HP
                    246: .sp \\n()Pu
                    247: .ne 1.1v
                    248: .if !"\\$1"" .nr )I \\$1n
                    249: .ll \\n(LLu
                    250: .in \\n()Ru+\\n(INu+\\n()Iu
                    251: .ti \\n()Ru+\\n(INu
                    252: .}f
                    253: ..
                    254: '      # indented paragraph
                    255: .de IP
                    256: .TP \\$2
                    257: \&\\$1
                    258: ..
                    259: '      # tagged paragraph (paragraph with hanging label)
                    260: .de TP
                    261: .if !"\\$1"" .nr )I \\$1n
                    262: .sp \\n()Pu
                    263: .ne 1.1v
                    264: .in \\n()Ru
                    265: .nr )E 1
                    266: .ns
                    267: .it 1 }N
                    268: .di ]B
                    269: ..
                    270: '      # end of TP (cf }N below)
                    271: .de }1
                    272: .ds ]X \&\\*(]B\\
                    273: .nr )E 0
                    274: .if !"\\$1"" .nr )I \\$1n
                    275: .}f
                    276: .ll \\n(LLu
                    277: .in \\n()Ru+\\n(INu+\\n()Iu
                    278: .ti \\n(INu
                    279: .ie !\\n()Iu+\\n()Ru-\w@\\*(]X@u-3p \{\\*(]X
                    280: .br\}
                    281: .el \\*(]X\h@|\\n()Iu+\\n()Ru@\c
                    282: .}f
                    283: ..
                    284: '      # handle end of 1-line features
                    285: .de }N
                    286: .if \\n()E .br
                    287: .di
                    288: .if "\\n()E"0" .}f
                    289: .if "\\n()E"1" .}1
                    290: .if "\\n()E"2" .}2
                    291: .nr )E 0
                    292: ..
                    293: '      # increase relative indent
                    294: .de RS
                    295: .nr ]\\n+()p \\n()I
                    296: .nr )\\n()p \\n()R
                    297: .ie !"\\$1"" .nr )R +\\$1n
                    298: .el .nr )R +\\n()I
                    299: .nr )I .5i
                    300: .}E
                    301: ..
                    302: .de DS
                    303: .RS
                    304: .nf
                    305: .sp
                    306: ..
                    307: '      # decrease relative indent
                    308: .de RE
                    309: .if !"\\$1"" \{.ie "\\$1"0" .nr )p 1 1
                    310: .              el .nr )p \\$1 1\}
                    311: .ds ]i \\*(]I\\n()p
                    312: .ds ]r \\*(]R\\n()p
                    313: .nr )I \\*(]i
                    314: .nr )R \\*(]r
                    315: .if \\n()p .nr )p -1
                    316: .}E
                    317: ..
                    318: .de DE
                    319: .fi
                    320: .RE
                    321: .sp.5
                    322: ..
                    323: .nr )p 0 1
                    324: .ds ]I \\\\n(]
                    325: .ds ]R \\\\n()
                    326: .bd S B 3
                    327: .if t .ds R \(rg
                    328: .if n .ds R (Reg.)
                    329: .ds S \s10
                    330: .hy 14
                    331: .if "\*(.T"va" .po -0.4i
                    332: .\" This file contains extra Ditroff macros used in Sprite man pages:
                    333: .\"
                    334: .\" .HS name section [date [version]]
                    335: .\"    Replacement for .TH in other man pages.  See below for valid
                    336: .\"    section names.
                    337: .\"
                    338: .\" .LG
                    339: .\"    Increase font size;  opposite of .SM
                    340: .\"
                    341: .\" .AP type name in/out [indent]
                    342: .\"    Start paragraph describing an argument to a library procedure.
                    343: .\"    type is type of argument (int, etc.), in/out is either "in", "out",
                    344: .\"    or "in/out" to describe whether procedure reads or modifies arg,
                    345: .\"    and indent is equivalent to second arg of .IP (shouldn't ever be
                    346: .\"    needed;  use .AS below instead)
                    347: .\"
                    348: .\" .AS [type [name]]
                    349: .\"    Give maximum sizes of arguments for setting tab stops.  Type and
                    350: .\"    name are examples of largest possible arguments that will be passed
                    351: .\"    to .AP later.  If args are omitted, default tab stops are used.
                    352: .\"
                    353: .\" .BS
                    354: .\"    Start box enclosure.  From here until next .BE, everything will be
                    355: .\"    enclosed in one large box.
                    356: .\"
                    357: .\" .BE
                    358: .\"    End of box enclosure.
                    359: .\"
                    360: .\" .VS
                    361: .\"    Begin vertical sidebar, for use in marking newly-changed parts
                    362: .\"    of man pages.
                    363: .\"
                    364: .\" .VE
                    365: .\"    End of vertical sidebar.
                    366: .\"
                    367: '      # Heading for Sprite man pages
                    368: .de HS
                    369: .PD
                    370: .DT
                    371: .AS
                    372: .if n .nr IN .5i
                    373: .if t .nr IN .5i
                    374: .nr LL \\n(.l
                    375: .ds ]S UNKNOWN SECTION (\\$2)
                    376: .if '\\$2'cmds'       .ds ]S User Commands
                    377: .if '\\$2'lib'        .ds ]S C Library Procedures
                    378: .if '\\$2'dev'        .ds ]S Devices
                    379: .if '\\$2'tcl'        .ds ]S Tcl Command Language Library
                    380: .if '\\$2'admin'      .ds ]S Administrative Commands
                    381: .if '\\$2'daemons'    .ds ]S Daemons
                    382: .if '\\$2'files'      .ds ]S File Formats
                    383: .ds ]H \\$1
                    384: .ds ]D \\*(]S
                    385: .ie '\\$3'' .ds ]L  Printed:\\ \\ \\*(DY
                    386: .el         .ds ]L  Modified:\\ \\ \\$3
                    387: .if t .ie '\\$4'' .ds ]W Sprite version 1.0
                    388: .if t .el         .ds ]W Sprite version \\$4
                    389: .if n .ie '\\$4'' .ds ]W Sprite v.1.0
                    390: .if n .el         .ds ]W Sprite v.\\$4
                    391: .if !"\\$3"" .ds ]L \\$3
                    392: .wh 0 }H
                    393: .if t .wh -1i }B
                    394: .if n .wh -1.167i }F
                    395: .if \\n(nl .bp 1
                    396: .em }M
                    397: .}E
                    398: .DT
                    399: .nr )I .5i
                    400: .nr )R 0
                    401: ..
                    402: '      # Increase point size 1 tick
                    403: .de LG
                    404: .ps +1
                    405: .it 1 }N
                    406: .if !"\\$1"" \&\\$1 \\$2 \\$3 \\$4 \\$5 \\$6
                    407: ..
                    408: '      # Start an argument description
                    409: .de AP
                    410: .ie !"\\$4"" .TP \\$4
                    411: .el \{\
                    412: .   ie !"\\$2"" .TP \\n()Cu
                    413: .   el          .TP 15
                    414: .\}
                    415: .ie !"\\$3"" \{\
                    416: .ta \\n()Au \\n()Bu
                    417: \&\\$1 \\fI\\$2\\fP    (\\$3)
                    418: .\".b
                    419: .\}
                    420: .el \{\
                    421: .br
                    422: .ie !"\\$2"" \{\
                    423: \&\\$1 \\fI\\$2\\fP
                    424: .\}
                    425: .el \{\
                    426: \&\\fI\\$1\\fP
                    427: .\}
                    428: .\}
                    429: .DT
                    430: ..
                    431: '      # define tabbing values for .AP
                    432: .de AS
                    433: .nr )A 10n
                    434: .if !"\\$1"" .nr )A \\w'\\$1'u+3n
                    435: .nr )B \\n()Au+15n
                    436: .\"
                    437: .if !"\\$2"" .nr )B \\w'\\$2'u+\\n()Au+3n
                    438: .nr )C \\n()Bu+\\w'(in/out)'u+2n
                    439: ..
                    440: '      # BS - start boxed text
                    441: .de BS
                    442: .br
                    443: .mk )a
                    444: .ds )b 1
                    445: .if n .nf
                    446: .if n .ti 0
                    447: .if n \l'\\n(.lu\(ul'
                    448: .if n .fi
                    449: ..
                    450: '      # Special macro to handle page bottom:  finish off current
                    451: '      # box/sidebar if in box/sidebar mode, then invoked standard
                    452: '      # page bottom macro.
                    453: .de }B
                    454: .if '\\*()b'1' \{\
                    455: .ev 1
                    456: 'ti 0
                    457: 'nf
                    458: .if t \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
                    459: 'sp -1
                    460: .ev
                    461: 'fi
                    462: .\}
                    463: .if '\\*()v'2' \{\
                    464: .if t \{\
                    465: .ev 1
                    466: 'ti 0
                    467: 'nf
                    468: \h'|\\n(.lu+2n'\v'-1v'\L'|\\n()au-1v\(br'\v'-|\\n()au+2v'\h'-|\\n(.lu+2n'
                    469: 'sp -1
                    470: 'fi
                    471: .ev
                    472: .\}
                    473: .\}
                    474: .}F
                    475: ..
                    476: '      # What to do when the head of the page occurs during boxed text
                    477: '      # or vertical sidebar: update starting position for box/sidebar.
                    478: .am }H
                    479: .mk )a
                    480: ..
                    481: '      # BE - end boxed text (draw box now)
                    482: .de BE
                    483: .sp -1
                    484: .nf
                    485: .ti 0
                    486: .ie n \l'\\n(.lu\(ul'
                    487: .el \{
                    488: \h'-1.5n'\L'|\\n()au-1.5v'\l'\\n(.lu+3n\(ul'\L'-|\\n()au+1.5v'\l'|0u-1.5n\(ul'
                    489: .\"   \h = move left 1.5n
                    490: .\"   \L = draw up,   len=  )a units + 1.5v 
                    491: .\"    \L draws a line, arg = distance. if negative, draws up.
                    492: .\"    The position in reg. )a is used to draw the vertical lines.
                    493: .\"      |\\n)au = distance from current loc. to )a (negative distance)
                    494: .\"      -1.5v   = distance above )a since there is text at )a's location
                    495: .\"   \l = draw right, len= cur. line length + 3n using underrule
                    496: .\"   \L = draw down, len=  )a units + 1.5v 
                    497: .\"   \l = draw left, back to original spot
                    498: .\}
                    499: .fi
                    500: .br
                    501: .ds )b 0
                    502: ..
                    503: '      # VS - start vertical sidebar
                    504: .de VS
                    505: .if n 'mc \s12\(br\s0
                    506: .if t \{\
                    507: .mk )a
                    508: .ds )v 2
                    509: .\}
                    510: ..
                    511: '      # VE - end of vertical sidebar
                    512: .de VE
                    513: .ev 1
                    514: .if n 'mc
                    515: .if t \{\
                    516: .nf
                    517: .ti 0
                    518: \h'|\\n(.lu+2n'\L'|\\n()au-1v\(br'\v'-|\\n()au+1v'\h'-|\\n(.lu+2n'
                    519: .sp -1
                    520: .fi
                    521: .\}
                    522: .ds )v 0
                    523: .ev
                    524: ..
                    525: .\"
                    526: .\"  Define the string DY to be the current date
                    527: .\"  format:  month day, year
                    528: .\"
                    529: .if \n(mo-0 .ds MO January
                    530: .if \n(mo-1 .ds MO February
                    531: .if \n(mo-2 .ds MO March
                    532: .if \n(mo-3 .ds MO April
                    533: .if \n(mo-4 .ds MO May
                    534: .if \n(mo-5 .ds MO June
                    535: .if \n(mo-6 .ds MO July
                    536: .if \n(mo-7 .ds MO August
                    537: .if \n(mo-8 .ds MO September
                    538: .if \n(mo-9 .ds MO October
                    539: .if \n(mo-10 .ds MO November
                    540: .if \n(mo-11 .ds MO December
                    541: .ds DY \*(MO \n(dy, 19\n(yr

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.