From 3ff9213bcd3493446f29942ea9f1a78a59d48823 Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 4 Jan 2005 22:11:58 +0000 Subject: new scripts --- bin/doctype | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 bin/doctype (limited to 'bin/doctype') diff --git a/bin/doctype b/bin/doctype new file mode 100755 index 00000000..df72db88 --- /dev/null +++ b/bin/doctype @@ -0,0 +1,74 @@ +#!/usr/local/plan9/bin/rc +# doctype: synthesize proper command line for troff + +troff=troff +eqn=eqn +prefer=prefer +opt='' +dev='' +while(~ $1 -*){ + switch($1){ + case -n; + troff=nroff + eqn=neqn + prefer='prefer -n' + case -T + dev=$1 + case -* + opt=$opt' $1' + } + shift +} +ifs=' +'{ + files=`{echo $*} +} +9grep -h '\$LIST|\|reference|^\.(EQ|TS|\[|PS|IS|GS|G1|GD|PP|BM|LP|BP|PI|cstart|begin|TH...)|^\.P$' $* | +sort -u | +awk ' +BEGIN { files = "'$files'" } +/\$LIST/ { e++ } +/^\.PP/ { ms++ } +/^\.LP/ { ms++ } +/^\.EQ/ { eqn++ } +/^\.TS/ { tbl++ } +/^\.PS/ { pic++ } +/^\.IS/ { ideal++ } +/^\.GS/ { tped++ } +/^\.G1/ { grap++; pic++ } +/^\.GD/ { dag++; pic++ } +/^\.\[/ { refer++ } +/\|reference/ { prefer++ } +/^\.cstart/ { chem++; pic++ } +/^\.begin +dformat/ { dformat++; pic++ } +/^\.TH.../ { man++ } +/^\.BM/ { lbits++ } +/^\.P$/ { mm++ } +/^\.BP/ { pictures++ } +/^\.PI/ { pictures++ } +END { + x = "" + if (refer) { + if (e) x = "refer -e " files " | " + else x = "refer " files "| " + files = "" + } + else if (prefer) { x = "cat " files "| '$prefer'| "; files = "" } + if (tped) { x = x "tped " files " | "; files = "" } + if (dag) { x = x "dag " files " | "; files = "" } + if (ideal) { x = x "ideal -q " files " | "; files = "" } + if (grap) { x = x "grap " files " | "; files = "" } + if (chem) { x = x "chem " files " | "; files = "" } + if (dformat) { x = x "dformat " files " | "; files = "" } + if (pic) { x = x "pic " files " | "; files = "" } + if (tbl) { x = x "tbl " files " | "; files = "" } + if (eqn) { x = x "'$eqn' '$dev' " files " | "; files = "" } + x = x "'$troff' " + if (man) x = x "-man" + else if (ms) x = x "-ms" + else if (mm) x = x "-mm" + if (lbits) x = x "-mbits" + if (pictures) x = x " -mpictures" + x = x " '$opt' '$dev' " files + print x +}' -- cgit v1.2.3