#! /bin/bash [ $# = 0 ] && { echo usage: $0 [ -f out ] file exit } PRE= OPTS= OUT= PDF= MAC=mm while [ $# != 0 ] do case "$1" in -f) shift OUT=$1 ;; -man) MAC=man ;; -l) # landscape FORM=lnd ;; -pdf) PDF=1 ;; *) FILE="$1" # check for .\" eqn tbl add lnd eng mom for i in `read x < $1; echo $x` do case $i in eqn) OPTS="$OPTS -e" ;; lnd) FORM=lnd ;; tbl) OPTS="$OPTS -t" PRE="$PRE | squezetbl " ;; add) PRE="$PRE | addtbl " ;; eng) longdash="\40-\40 \\\\(em" ;; mom) MAC=mom ;; *) : esac done ;; esac shift done case $FILE in *.mom) MAC=mom; BASE=${FILE%.mom} ;; *) BASE=$FILE esac [ "$OUT" = "" ] && OUT=${BASE}.ps case "$MAC" in mom) SO="/home/privat/bin/defines.mom" ;; mm) SO="/home/privat/bin/roffinit" if [ "$FORM" = lnd ] then OPTS="$OPTS -r L=21.12c -r W=23.95c -r O=2.8c" else OPTS="$OPTS -r L=29.00c -r W=15.75c -r O=2.5c" fi ;; *) esac OPTS="$OPTS -$MAC" if [ "$FORM" = lnd ] then OPTS="$OPTS -P-l -P-pa4" else OPTS="$OPTS -P-pa4" fi echo "{ cat $SO; cat $FILE $PRE } | groff -Tps -k $OPTS - > $OUT" eval "{ cat $SO; cat $FILE $PRE } | groff -Tps -k $OPTS - > $OUT" [ "$PDF" = 1 ] && ps2pdf $OUT $BASE.pdf echo done