#!/bin/csh -f
#
# Print gnuplot output on RGIP (Uniplex) format.
set input_files = () # the plot input command files
set lpr_opts = () # options to lpr
set fontsize = ()
# File for plot commands, and for plot output
set TMP=/tmp/plot$$
set outfile="|mail $USER" #mail user if no outputfile
set out=0
set windows = () #windows nr i x-dir and y-dir
onintr cleanup
# default is Imagen mode for Imagen printer; see -p option
set setterm="set terminal imagen"
set usage="usage: rgipgnu [-f fontsize] [-w [winx,winy]] [-t title] [-o outputfile] [-p 'plot command'] [plot-files....]"
# Loop through the command-line arguments.
top:
if ($#argv > 0) then
switch ("$argv[1]")
case - : # print to stdout
set outfile=""
set out=1
shift argv
goto top
case -f?*: # Specify font size
set fontsize = `echo $argv[1] | sed 's/^-f//'`)
shift argv
goto top
case -f: # Specify font size
shift argv
if ($#argv > 0) then
set fontsize = $argv[1]
shift argv
else
echo "Usage: -f fontsize (1-8)"
echo "Type rgipgnu -help for help."
exit (1)
endif
goto top
case -o?*: # Specify output-file of plot
set outfile = `echo $argv[1] | sed 's/^-o//'`
set out=1
shift argv
goto top
case -o: # Specify title of plot
shift argv
if ($#argv > 0) then
set outfile = $argv[1]
set out=1
shift argv
else
echo "Usage: -o outputfile"
echo "Include a 'X' in filename if multiple plots"
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -t?*: # Specify title of plot
echo set title \""`echo $argv[1] | sed 's/^-t//'`"\" >> $TMP
shift argv
goto top
case -t: # Specify title of plot
shift argv
if ($#argv > 0) then
echo set title \""$1"\" >> $TMP
shift argv
else
echo "Usage: -t title ..."
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -help:
echo "$usage"
exit(1)
case -p?*: # plot-commds
echo "$argv[1]" | sed "s/^-p//" >> $TMP
shift argv
goto top
case -p: # Set the printer, exactly as by itroff.
shift argv
if ($#argv > 0) then
echo "$argv[1]" >> $TMP
shift argv
else
echo "Usage: -P 'plot-commands ...'"
echo "Type rgipgnu -help for help."
exit (1)
endif
goto top
case -w: # Specify split page
shift argv
if ($#argv > 0) then
set windows="[$argv[1]]"
shift argv
else
echo "Usage: -w no_horiz,no_vertical"
echo "Type lasergnu -help for help."
exit (1)
endif
goto top
case -?*:
echo "I do not recognize option $argv[1]."
echo "$usage"
exit (1)
default:
set input_files = ($input_files $argv[1])
shift argv
goto top
endsw
endif
set setterm="set term rgip $fontsize $windows"
# Set up input file
echo "$setterm" > $TMP.plt
echo set output \"$outfile\" >> $TMP.plt
if (-e $TMP) cat $TMP >> $TMP.plt
# If input file is specified AND command line contains plot commands, then
# do command line args first, then plot commands in input file.
#if ( "$input_files" != "" ) then
if ( "$out" ) then
grep -v "set te" $input_files | grep -v "set out" >> $TMP.plt
else
grep -v "set te" $input_files >> $TMP.plt
endif
echo "quit" >> $TMP.plt
gnuplot $TMP.plt < /dev/null
cleanup:
rm -f $TMP*