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