13e12c5d1SDavid du Colombier#!/bin/rc 23e12c5d1SDavid du Colombier# doctype: synthesize proper command line for troff 33e12c5d1SDavid du Colombier 43e12c5d1SDavid du Colombiertroff=troff 53e12c5d1SDavid du Colombiereqn=eqn 63e12c5d1SDavid du Colombierprefer=prefer 73e12c5d1SDavid du Colombieropt='' 83e12c5d1SDavid du Colombierdev='' 93e12c5d1SDavid du Colombierwhile(~ $1 -*){ 103e12c5d1SDavid du Colombier switch($1){ 113e12c5d1SDavid du Colombier case -n; 123e12c5d1SDavid du Colombier troff=nroff 133e12c5d1SDavid du Colombier eqn=neqn 143e12c5d1SDavid du Colombier prefer='prefer -n' 153e12c5d1SDavid du Colombier case -T 163e12c5d1SDavid du Colombier dev=$1 173e12c5d1SDavid du Colombier case -* 183e12c5d1SDavid du Colombier opt=$opt' $1' 193e12c5d1SDavid du Colombier } 203e12c5d1SDavid du Colombier shift 213e12c5d1SDavid du Colombier} 223e12c5d1SDavid du Colombierifs=' 233e12c5d1SDavid du Colombier'{ 243e12c5d1SDavid du Colombier files=`{echo $*} 253e12c5d1SDavid du Colombier} 26e887ea33SDavid du Colombiergrep -h '\$LIST|\|reference|Jp|^\.(EQ|TS|\[|PS|IS|GS|G1|GD|PP|BM|LP|BP|PI|cstart|begin|TH...|TI)|^\.P$' $* | 273e12c5d1SDavid du Colombiersort -u | 283e12c5d1SDavid du Colombierawk ' 29e887ea33SDavid du ColombierBEGIN { files = "'$"files'" } 303e12c5d1SDavid du Colombier/\$LIST/ { e++ } 313e12c5d1SDavid du Colombier/^\.PP/ { ms++ } 323e12c5d1SDavid du Colombier/^\.LP/ { ms++ } 333e12c5d1SDavid du Colombier/^\.EQ/ { eqn++ } 343e12c5d1SDavid du Colombier/^\.TS/ { tbl++ } 353e12c5d1SDavid du Colombier/^\.PS/ { pic++ } 363e12c5d1SDavid du Colombier/^\.IS/ { ideal++ } 373e12c5d1SDavid du Colombier/^\.GS/ { tped++ } 383e12c5d1SDavid du Colombier/^\.G1/ { grap++; pic++ } 393e12c5d1SDavid du Colombier/^\.GD/ { dag++; pic++ } 403e12c5d1SDavid du Colombier/^\.\[/ { refer++ } 413e12c5d1SDavid du Colombier/\|reference/ { prefer++ } 423e12c5d1SDavid du Colombier/^\.cstart/ { chem++; pic++ } 433e12c5d1SDavid du Colombier/^\.begin +dformat/ { dformat++; pic++ } 443e12c5d1SDavid du Colombier/^\.TH.../ { man++ } 453e12c5d1SDavid du Colombier/^\.BM/ { lbits++ } 463e12c5d1SDavid du Colombier/^\.P$/ { mm++ } 473e12c5d1SDavid du Colombier/^\.BP/ { pictures++ } 483e12c5d1SDavid du Colombier/^\.PI/ { pictures++ } 49e887ea33SDavid du Colombier/^\.TI/ { mcs++ } 50b08d585eSDavid du Colombier/^\.ft *Jp|\\f\(Jp/ { nihongo++ } 513e12c5d1SDavid du ColombierEND { 523e12c5d1SDavid du Colombier x = "" 533e12c5d1SDavid du Colombier if (refer) { 54*fe823997SDavid du Colombier if (e) x = "refer -e " files " | " 55*fe823997SDavid du Colombier else x = "refer " files "| " 563e12c5d1SDavid du Colombier files = "" 573e12c5d1SDavid du Colombier } 583e12c5d1SDavid du Colombier else if (prefer) { x = "cat " files "| '$prefer'| "; files = "" } 593e12c5d1SDavid du Colombier if (tped) { x = x "tped " files " | "; files = "" } 603e12c5d1SDavid du Colombier if (dag) { x = x "dag " files " | "; files = "" } 613e12c5d1SDavid du Colombier if (ideal) { x = x "ideal -q " files " | "; files = "" } 623e12c5d1SDavid du Colombier if (grap) { x = x "grap " files " | "; files = "" } 633e12c5d1SDavid du Colombier if (chem) { x = x "chem " files " | "; files = "" } 643e12c5d1SDavid du Colombier if (dformat) { x = x "dformat " files " | "; files = "" } 653e12c5d1SDavid du Colombier if (pic) { x = x "pic " files " | "; files = "" } 663e12c5d1SDavid du Colombier if (tbl) { x = x "tbl " files " | "; files = "" } 673e12c5d1SDavid du Colombier if (eqn) { x = x "'$eqn' '$dev' " files " | "; files = "" } 683e12c5d1SDavid du Colombier x = x "'$troff' " 693e12c5d1SDavid du Colombier if (man) x = x "-man" 703e12c5d1SDavid du Colombier else if (ms) x = x "-ms" 713e12c5d1SDavid du Colombier else if (mm) x = x "-mm" 72e887ea33SDavid du Colombier if (mcs) x = x " -mcs" 733e12c5d1SDavid du Colombier if (lbits) x = x " -mbits" 743e12c5d1SDavid du Colombier if (pictures) x = x " -mpictures" 75b08d585eSDavid du Colombier if (nihongo) x = x " -mnihongo" 763e12c5d1SDavid du Colombier x = x " '$opt' '$dev' " files 773e12c5d1SDavid du Colombier print x 783e12c5d1SDavid du Colombier}' 79