tdoctype - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
       tdoctype (1751B)
       ---
            1 #!/usr/local/plan9/bin/rc
            2 
            3 # doctype:  synthesize proper command line for troff
            4 
            5 . 9.rc
            6 
            7 troff=troff
            8 eqn=eqn
            9 prefer=prefer
           10 opt=''
           11 dev=''
           12 while(~ $1 -*){
           13         switch($1){
           14         case -n;
           15                 troff=nroff
           16                 eqn=neqn
           17                 prefer='prefer -n'
           18         case -T
           19                 dev=$1
           20         case -*
           21                 opt=$opt' $1'
           22         }
           23         shift
           24 }
           25 ifs='
           26 '{
           27         files=`{echo $*}
           28 }
           29 grep -h '\$LIST|\|reference|^\.(EQ|TS|\[|PS|IS|GS|G1|GD|PP|BM|LP|BP|PI|cstart|begin|TH...)|^\.P$' $* |
           30 sort -u |
           31 awk '
           32 BEGIN        { files = "'$files'" }
           33 /\$LIST/ { e++ }
           34 /^\.PP/        { ms++ }
           35 /^\.LP/        { ms++ }
           36 /^\.EQ/        { eqn++ }
           37 /^\.TS/        { tbl++ }
           38 /^\.PS/        { pic++ }
           39 /^\.IS/        { ideal++ }
           40 /^\.GS/ { tped++ }
           41 /^\.G1/ { grap++; pic++ }
           42 /^\.GD/ { dag++; pic++ }
           43 /^\.\[/        { refer++ }
           44 /\|reference/ { prefer++ }
           45 /^\.cstart/ { chem++; pic++ }
           46 /^\.begin +dformat/ { dformat++; pic++ }
           47 /^\.TH.../ { man++ }
           48 /^\.BM/ { lbits++ }
           49 /^\.P$/        { mm++ }
           50 /^\.BP/        { pictures++ }
           51 /^\.PI/        { pictures++ }
           52 END {
           53         x = ""
           54         if (refer) {
           55                 if (e)        x = "refer -e " files " | "
           56                 else        x =  "refer " files "| "
           57                 files = ""
           58         }
           59         else if (prefer) { x = "cat " files "| '$prefer'| "; files = "" }
           60         if (tped)  { x = x "tped " files " | "; files = "" }
           61         if (dag)  { x = x "dag " files " | "; files = "" }
           62         if (ideal) { x = x "ideal -q " files " | "; files = "" }
           63         if (grap)  { x = x "grap " files " | "; files = "" }
           64         if (chem)  { x = x "chem " files " | "; files = "" }
           65         if (dformat)  { x = x "dformat " files " | "; files = "" }
           66         if (pic)   { x = x "pic " files " | "; files = "" }
           67         if (tbl)   { x = x "tbl " files " | "; files = "" }
           68         if (eqn)   { x = x "'$eqn' '$dev' " files " | "; files = "" }
           69         x = x "'$troff' "
           70         if (man) x = x "-man"
           71         else if (ms) x = x "-ms"
           72         else if (mm) x = x "-mm"
           73         if (lbits) x = x "-mbits"
           74         if (pictures) x = x " -mpictures"
           75         x = x " '$opt' '$dev' " files
           76         print x
           77 }'