[comp.text] Gnutex patch 6 part 2 of 2

dfk@grad13.cs.duke.edu (David F. Kotz) (03/21/89)

diff -cr ../gnutex.old/term.c ./term.c
*** ../gnutex.old/term.c	Thu Feb  2 15:10:54 1989
--- ./term.c	Mon Mar 13 14:24:50 1989
***************
*** 26,32 ****
   * 333 Ravenswood Ave, Menlo Park, CA 94025.
   * Mail to mckenney@sri.com.
   */
! 
  #include <stdio.h>
  #include "plot.h"
  
--- 26,35 ----
   * 333 Ravenswood Ave, Menlo Park, CA 94025.
   * Mail to mckenney@sri.com.
   */
! /*
!  * Modification for Fig code output by Micah Beck, 1989
!  * Department of Computer Science, Cornell University
!  */
  #include <stdio.h>
  #include "plot.h"
  
***************
*** 1148,1154 ****
      LATEX_style = NULL;
      LATEX_type = -1;
      
!     fprintf(outfile, "\\setlength{\\unitlength}{%gpt}\n", LATEX_UNIT);
  }
  
  
--- 1151,1157 ----
      LATEX_style = NULL;
      LATEX_type = -1;
      
!     fprintf(outfile, "\\setlength{\\unitlength}{%fpt}\n", LATEX_UNIT);
  }
  
  
***************
*** 1388,1415 ****
  	int style[];
  	char *names[];
  {
!     int entry;
      int pcount = 0;			/* counter of point-like styles */
      char *point;			/* string representing type */
      static char *LATEX_key_point();
      BOOLEAN first = TRUE;
  
!     /* Plot all of the entries in a shortstack */
!     /* Each entry has two boxes, the left right-justified,  */
      /* the right left-justified, so they line up at the middle. */
      fprintf(outfile, "\\put(%d,%d){\\shortstack{\n", x, y);
!     for (entry = 0; names[entry] != NULL; entry++) {
  	   /* Get a string that describes this style */
! 	   point = LATEX_key_point(style[entry], &pcount);
  
  	   /* But don't print it out if the description is empty */
! 	   if (*names[entry] != '\0') {
  		  if (!first) 
  		    fprintf(outfile, "\\\\\n");
  		  else
  		    first = FALSE;
  		  fprintf(outfile, " \\makebox[0pt][r]{%s}", point);
! 		  fprintf(outfile, " \\makebox[0pt][l]{ %s}", names[entry]);
  	   }
      }
      fprintf(outfile, "\n}}\n");
--- 1391,1418 ----
  	int style[];
  	char *names[];
  {
!     int curve;
      int pcount = 0;			/* counter of point-like styles */
      char *point;			/* string representing type */
      static char *LATEX_key_point();
      BOOLEAN first = TRUE;
  
!     /* Plot all of the curves in a shortstack */
!     /* Each curve has two boxes, the left right-justified,  */
      /* the right left-justified, so they line up at the middle. */
      fprintf(outfile, "\\put(%d,%d){\\shortstack{\n", x, y);
!     for (curve = 0; names[curve] != NULL; curve++) {
  	   /* Get a string that describes this style */
! 	   point = LATEX_key_point(style[curve], &pcount);
  
  	   /* But don't print it out if the description is empty */
! 	   if (*names[curve] != '\0') {
  		  if (!first) 
  		    fprintf(outfile, "\\\\\n");
  		  else
  		    first = FALSE;
  		  fprintf(outfile, " \\makebox[0pt][r]{%s}", point);
! 		  fprintf(outfile, " \\makebox[0pt][l]{ %s}", names[curve]);
  	   }
      }
      fprintf(outfile, "\n}}\n");
***************
*** 1521,1526 ****
--- 1524,1813 ----
  
  #endif /* LATEX */
  
+ #ifdef FIG
+ 
+ #include "object.h"			/* from the TransFig distribution */
+ 
+ #ifndef FIG_RES
+ /* Must be 80 for the Fig editor, but may be increased if used 
+  * only by TransFig filters
+  */
+ #define FIG_RES		80
+ #endif
+ 
+ #define FIG_COORD_SYS	2
+ #define FIG_MAGIC	"#FIG 1.4-TFX"
+ 
+ #define FIG_HTIC	5
+ #define FIG_VTIC	5
+ #define FIG_HCHAR	8
+ #define FIG_VCHAR	16
+ 
+ #define FIG_TICSIZ 101		/* no more than 100 chars in a tic label */
+ 
+ #define FIG_FORMAT "%g"		/* default format for tic marks */
+ 
+ 
+ static long FIG_xbase = FIG_RES/2;
+ static long FIG_ybase = FIG_RES/2;
+ 
+ static long FIG_posx;
+ static long FIG_posy;
+ static BOOLEAN FIG_inplot;
+ static long FIG_xmax;
+ static long FIG_ymax;
+ 
+ static FIG_endplot();
+ extern char *malloc();
+ 
+ #define sign(x) ((x) >= 0 ? 1 : -1)
+ #define abs(x) ((x) >= 0 ? (x) : -(x))
+ #define max(a,b) ((a) > (b) ? (a) : (b))
+ #define min(a,b) ((a) < (b) ? (a) : (b))
+ 
+ static int FIG_type;		/* negative types use real lines */
+ static struct st_entry *FIG_style = NULL; /* NULL => use default styles */
+ static FIG_seq_pos;		/* position in sequence */
+ 
+ #define FIG_POINT_TYPES POINT_TYPES /* we use the same points */
+ 
+ FIG_init()
+ {
+     FIG_posx = FIG_posy = 0;
+     FIG_inplot = FALSE;
+     FIG_style = NULL;
+     FIG_type = -1;
+ 
+     fprintf(outfile, "%s\n", FIG_MAGIC);
+     fprintf(outfile, "%d %d\n", FIG_RES, FIG_COORD_SYS);
+ }
+ 
+ 
+ FIG_graphics(xmax, ymax, t, xlabel, ylabel, yskip, title)
+ 	float xmax, ymax;		/* in inches */
+ 	struct termentry *t;
+ 	char *xlabel;			/* x-axis label */
+ 	char *ylabel;			/* y-axis label */
+ 	int yskip;			/* y-axis label skip factor */
+ 	char *title;			/* plot title */
+ {
+     /* computed margin of plot */
+     long bot_margin, left_margin, top_margin, right_margin;
+ 
+     if (FIG_inplot) 
+ 	 FIG_endplot();
+ 
+     /* Convert inches to points to coordinates */
+     FIG_xmax = (long) (xmax * FIG_RES + 0.5);
+     FIG_ymax = (long) (ymax * FIG_RES + 0.5);
+ 
+     /* store these away for the use of plotting routines */
+     t->xmax = FIG_xmax;
+     t->ymax = FIG_ymax;
+ 
+     /* Compute the margins, based on the positioning of tick labels */
+     left_margin = FIG_VTIC + 4*FIG_HCHAR;
+     right_margin = 0;
+     bot_margin = FIG_HTIC + FIG_VCHAR;
+     top_margin = FIG_VTIC;
+ 
+     FIG_xbase += left_margin;
+     FIG_ybase += top_margin;
+ 
+     /* Place the title and labels */
+ 
+     if (ylabel && *ylabel != '\0') {
+         FIG_xbase += (strlen(ylabel)+1)*FIG_HCHAR;
+ 	FIG_xy_text(-left_margin, (FIG_ymax-1)/2, ylabel, "r");
+     }
+ 
+     if (title && *title != '\0')
+ 	FIG_xy_text((FIG_xmax-1)/2, FIG_ymax + top_margin, title, "cb");
+ 
+     if (xlabel && *xlabel != '\0')
+ 	FIG_xy_text((FIG_xmax-1)/2, -bot_margin, xlabel, "tc");
+ 
+     FIG_inplot = TRUE;
+ 
+     FIG_posx = FIG_posy = 0;
+ }
+ 
+ 
+ static 
+ FIG_endplot()
+ {
+ }
+ 
+ 
+ FIG_text()
+ {
+ }
+ 
+ 
+ FIG_linetype(linetype)
+ int linetype;
+ {
+     FIG_type = linetype;
+     FIG_style = NULL;
+ }
+ 
+ 
+ FIG_plotstyle(stp)
+ struct st_entry *stp;
+ {
+     FIG_style = stp;
+     FIG_seq_pos = 0;
+ }
+ 
+ 
+ FIG_move(x,y)
+ unsigned int x,y;
+ {
+     FIG_posx = x;
+     FIG_posy = y;
+ }
+ 
+ FIG_vector(ux,uy)
+ unsigned int ux,uy;
+ {
+     	int x=ux, y=uy;
+ 
+   	fprintf(outfile, "%d %d %d %d %d %d %d %d %6.3f  %d %d\n",
+ 	 	O_POLYLINE, T_POLYLINE,
+ 	 	SOLID_LINE, 1, DEFAULT, DEFAULT, DEFAULT, DEFAULT, 0.0,
+ 	 	0, 0);
+   	fprintf(outfile, "%d %d %d %d 9999 9999\n",
+ 	 	FIG_xbase+FIG_posx, FIG_ybase+FIG_ymax-FIG_posy,
+ 		FIG_xbase+x, FIG_ybase+FIG_ymax-y);
+ 
+ 	FIG_posx = x;
+     	FIG_posy = y;
+ }
+ 
+ FIG_lrput_text(row,str)
+ unsigned int row;
+ char str[];
+ {
+      FIG_xy_text(FIG_xmax - 2*FIG_HTIC - FIG_HCHAR*(strlen(str)+1),
+ 	FIG_VTIC + FIG_VCHAR*row,
+         str, NULL);
+ }
+ 
+ 
+ FIG_ulput_text(row,str)
+ unsigned int row;
+ char str[];
+ {
+      FIG_xy_text(FIG_HTIC,
+ 	FIG_ymax - FIG_VTIC - FIG_VCHAR*(row+1), str, NULL);
+ }
+ 
+ FIG_xyput_text(x, y, str, pos, length, dx, dy)
+ unsigned int x,y;			/* reference point of string */
+ char str[];				/* the text */
+ char pos[];				/* for optional [pos] to \makebox */
+ unsigned int length;		/* optional arrow length */
+ int dx, dy;				/* optional slopes for arrow */
+ {
+     if (!FIG_inplot)
+ 	 return;
+ 
+    FIG_xy_text(x, y, str, pos);
+ 
+     /* optional arrow */
+     if (length != 0 && pos != NULL && *pos != NULL) {
+ 	   if (dx == 0 && dy == 0) { /* determine slope from pos */
+  		  if (INDEX(pos, 'l') != NULL) dx = -1;
+  		  if (INDEX(pos, 'r') != NULL) dx = 1;
+  		  if (INDEX(pos, 't') != NULL) dy = 1;
+  		  if (INDEX(pos, 'b') != NULL) dy = -1;
+ 	   }
+   	fprintf(outfile, "%d %d %d %d %d %d %d %d %6.3f  %d %d\n",
+ 	 	O_POLYLINE, T_POLYLINE,
+ 	 	SOLID_LINE, 1, DEFAULT, DEFAULT, DEFAULT, DEFAULT, 0.0,
+ 	 	1, 0);
+ 	fprintf(outfile, "%d %d %d %d %d\n",
+ 		DEFAULT, DEFAULT, DEFAULT, 4, 8);
+   	fprintf(outfile, "%d %d %d %d 9999 9999\n",
+ 	 	x, y, x+dx, y+dy);
+     }
+ }
+ 
+ /* internally called, just dumps out string */
+ FIG_xy_text(x, y, str, pos)
+ long x, y;
+ char *str, *pos;
+ {
+     int j = T_CENTER_JUSTIFIED;
+ 
+     y = y - FIG_VCHAR/2;
+     if (pos != NULL) {
+       if (INDEX(pos, 'l') != NULL) j = T_LEFT_JUSTIFIED;
+       if (INDEX(pos, 'r') != NULL) j = T_RIGHT_JUSTIFIED;
+       if (INDEX(pos, 't') != NULL) y = y - FIG_VCHAR/2;
+       if (INDEX(pos, 'b') != NULL) y = y + FIG_VCHAR/2;
+     }
+     fprintf(outfile, "%d %d %d %d %d %d %d %6.3f %d %d %d %d %d %s\01\n",
+         O_TEXT, j,
+         DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, 0.0, DEFAULT,
+     	16, 8*strlen(str), FIG_xbase+x, FIG_ybase+FIG_ymax-y, str);
+ }
+ 
+ FIG_key(x, y, style, names)
+ 	unsigned int x,y;
+ 	int style[];
+ 	char *names[];
+ {
+ /* Not for now... */
+ }
+ 
+ static 
+ char *					/* pointer to static storage */
+ FIG_key_point(style, pcount)
+ 	int style;			/* style number to describe */
+ 	int *pcount;			/* running counter of point-like styles */
+ {
+ /* Not for now... */
+ }
+ 
+ FIG_xtick_text(x, number, format)
+ unsigned int x;			/* place to put on axis */
+ double number;			/* the number to be written at that tick */
+ char *format;
+ {
+     char mark[FIG_TICSIZ];
+ 
+     if (*format == '\0')
+ 	 format = FIG_FORMAT;
+     sprintf(mark, format, number);
+     FIG_xy_text(x, -FIG_HTIC, mark, "t");
+ }
+ 
+ FIG_ytick_text(y, number, format)
+ unsigned int y;			/* place to put on axis */
+ double number;			/* the number to be written at that tick */
+ char *format;
+ {
+     char mark[FIG_TICSIZ];
+ 
+     if (*format == '\0')
+ 	 format = FIG_FORMAT;
+     sprintf(mark, format, number);
+     FIG_xy_text(-FIG_VTIC, y, mark, "r");
+ }
+ 
+ 
+ FIG_reset()
+ {
+     if (FIG_inplot) {
+ 	   FIG_endplot();
+ 	   FIG_inplot = FALSE;
+     }
+     FIG_posx = FIG_posy = 0;
+ }
+ 
+ #endif /* FIG */
+ 
  #ifdef IMAGEN
  
  #include "imPcodes.h"
***************
*** 1944,1956 ****
  		{
  		if (dx == 0 && dy == 0)
  			{
! 			if (index(pos, 'l'))
  				dx = -1;
! 			if (index(pos, 'r'))
  				dx = 1;
! 			if (index(pos, 't'))
  				dy = 1;
! 			if (index(pos, 'b'))
  				dy = -1;
  			}
  		IMAGEN_move(ref_x, ref_y);
--- 2231,2243 ----
  		{
  		if (dx == 0 && dy == 0)
  			{
! 			if (INDEX(pos, 'l'))
  				dx = -1;
! 			if (INDEX(pos, 'r'))
  				dx = 1;
! 			if (INDEX(pos, 't'))
  				dy = 1;
! 			if (INDEX(pos, 'b'))
  				dy = -1;
  			}
  		IMAGEN_move(ref_x, ref_y);
***************
*** 1981,1993 ****
      dy += height / 2;
      if (pos != NULL)
  	{
! 	if (index(pos, 'l'))
  		x += width / 2;
! 	if (index(pos, 'r'))
  		x -= width / 2;
! 	if (index(pos, 't'))
  		dy -= height / 2;
! 	if (index(pos, 'b'))
  		dy += height / 2;
  	}
      if (IMAGEN_rotated)
--- 2268,2280 ----
      dy += height / 2;
      if (pos != NULL)
  	{
! 	if (INDEX(pos, 'l'))
  		x += width / 2;
! 	if (INDEX(pos, 'r'))
  		x -= width / 2;
! 	if (INDEX(pos, 't'))
  		dy -= height / 2;
! 	if (INDEX(pos, 'b'))
  		dy += height / 2;
  	}
      if (IMAGEN_rotated)
***************
*** 2162,2173 ****
  #ifdef LATEX
  	/* xmax and ymax are filled in by LATEX_graphics */
  	/* We supply the absolute maximum here */
! 	,{"latex", 8.5*LATEX_PTS_PER_INCH, 11*LATEX_PTS_PER_INCH,
! 	    LATEX_VCHAR, LATEX_HCHAR, LATEX_VTIC, LATEX_HTIC,
  	    LATEX_init, LATEX_reset, LATEX_text, LATEX_graphics, LATEX_move, 
  	    LATEX_vector,
  	    LATEX_linetype, LATEX_lrput_text, LATEX_ulput_text, LATEX_point,
  	    LATEX_xyput_text, LATEX_xtick_text, LATEX_ytick_text, LATEX_plotstyle}
  #endif
  
  #ifdef IMAGEN
--- 2449,2471 ----
  #ifdef LATEX
  	/* xmax and ymax are filled in by LATEX_graphics */
  	/* We supply the absolute maximum here */
! 	,{"latex", (int)(8.5*LATEX_PTS_PER_INCH), (int)(11*LATEX_PTS_PER_INCH),
! 	    (int)LATEX_VCHAR, (int)LATEX_HCHAR, (int)LATEX_VTIC, (int)LATEX_HTIC,
  	    LATEX_init, LATEX_reset, LATEX_text, LATEX_graphics, LATEX_move, 
  	    LATEX_vector,
  	    LATEX_linetype, LATEX_lrput_text, LATEX_ulput_text, LATEX_point,
  	    LATEX_xyput_text, LATEX_xtick_text, LATEX_ytick_text, LATEX_plotstyle}
+ #endif
+ 
+ #ifdef FIG
+ 	/* xmax and ymax are filled in by FIG_graphics */
+ 	/* We supply the absolute maximum here */
+ 	,{"fig", (int)(8.5*FIG_RES), 11*FIG_RES,
+ 	    FIG_VCHAR, FIG_HCHAR, FIG_VTIC, FIG_HTIC,
+ 	    FIG_init, FIG_reset, FIG_text, FIG_graphics, FIG_move, 
+ 	    FIG_vector,
+ 	    FIG_linetype, FIG_lrput_text, FIG_ulput_text, do_point,
+ 	    FIG_xyput_text, FIG_xtick_text, FIG_ytick_text, FIG_plotstyle}
  #endif
  
  #ifdef IMAGEN
diff -cr ../gnutex.old/version.c ./version.c
*** ../gnutex.old/version.c	Thu Feb  2 15:12:17 1989
--- ./version.c	Mon Mar 20 21:57:36 1989
***************
*** 1,2 ****
! char version[] = "1.0.3 + latex mods 1.5";
! char date[] = "Thu Feb  2 15:12:10 EST 1989";
--- 1,2 ----
! char version[] = "1.0.3 + DFK mods 1.6";
! char date[] = "Mon Mar 20 21:57:17 EST 1989";
diff -cr ../gnutex.old/Help/help.c ./Help/help.c
*** ../gnutex.old/Help/help.c	Wed Feb  1 13:50:56 1989
--- ./Help/help.c	Mon Mar 13 15:19:15 1989
***************
*** 1,6 ****
  #include <stdio.h>
  #include <errno.h>
! #include <string.h>
  #define	SAME	0	/* for strcmp() */
  
  #include "help.h"	/* values passed back */
--- 1,23 ----
  #include <stdio.h>
+ #ifdef MSDOS
+ extern int errno;
+ #else
  #include <errno.h>
! #endif
! #ifdef GOULD_NP1
! extern int errno;
! #endif
! 
! #ifdef vms
! extern int strcmp();
! extern int strlen();
! extern char *strcpy();
! extern char *strncpy();
! #else
! # include <string.h>
! #endif
! 
! 
  #define	SAME	0	/* for strcmp() */
  
  #include "help.h"	/* values passed back */
Common subdirectories: ../gnutex.old/doc/example and ./doc/example
Common subdirectories: ../gnutex.old/doc/manual and ./doc/manual
diff -cr ../gnutex.old/doc/example/Makefile ./doc/example/Makefile
*** ../gnutex.old/doc/example/Makefile	Wed Feb  1 13:39:29 1989
--- ./doc/example/Makefile	Mon Mar 13 15:17:33 1989
***************
*** 15,19 ****
  	@echo ----------------------
  	@echo Now print or view pic.dvi with some dvi output program
  
  clean:
! 	rm -f *.aux *.log *.dvi *~ plot.tex
--- 15,35 ----
  	@echo ----------------------
  	@echo Now print or view pic.dvi with some dvi output program
  
+ demo3:
+ 	gnutex < demo3.gnu
+ 	echo You need the transfig package to do this demo
+ 	fig2epic plot.fig plot.tex
+ 	latex epic
+ 	@echo ----------------------
+ 	@echo Now print or view epic.dvi with some dvi output program
+ 
+ demo3.latex:
+ 	gnutex < demo3.gnu
+ 	echo You need the transfig package to do this demo
+ 	fig2latex plot.fig plot.tex
+ 	latex pic
+ 	@echo ----------------------
+ 	@echo Now print or view epic.dvi with some dvi output program
+ 
  clean:
! 	rm -f *.aux *.log *.dvi *~ plot.tex plot.fig
diff -cr ../gnutex.old/doc/example/README ./doc/example/README
*** ../gnutex.old/doc/example/README	Mon Dec 12 14:33:34 1988
--- ./doc/example/README	Mon Mar 13 15:15:43 1989
***************
*** 1,6 ****
  This directory has two simple examples of the use of gnutex. The first
  uses LaTeX. The file second demonstrates some pure gnuplot aspects,
! using lasergnu instead of LaTeX.
  
  The Makefile for the gnutex manual, in ../manual/Makefile, is a good
! example of a Makefile to maintain a document containing gnutex plots.
--- 1,11 ----
  This directory has two simple examples of the use of gnutex. The first
  uses LaTeX. The file second demonstrates some pure gnuplot aspects,
! using lasergnu instead of LaTeX. However, demo2.latex will output this
! demo in latex form. The third demo, demo3, is almost the same as demo1
! except that it produces FIG output. demo3 uses eepic to output the FIG
! code; demo3.latex uses latex instead. You need the transfig package to
! do either demo3.
  
  The Makefile for the gnutex manual, in ../manual/Makefile, is a good
! example of using a Makefile to maintain a document containing gnutex
! plots.
diff -cr ../gnutex.old/doc/example/demo3.gnu ./doc/example/demo3.gnu
*** ../gnutex.old/doc/example/demo3.gnu	Mon Mar 20 22:02:09 1989
--- ./doc/example/demo3.gnu	Mon Mar 13 14:45:35 1989
***************
*** 0 ****
--- 1,8 ----
+ set terminal fig
+ set output "plot.fig"
+ set size 3.5,3
+ set title "This is a very long title"
+ set xlabel "This is the $x$ axis"
+ set ylabel "$y$ axis"
+ set style new1 "$\otimes$" 3 "\circle*{100}" "\circle*{200}" "\circle*{300}"
+ plot "3.dat" with new1
diff -cr ../gnutex.old/doc/example/epic.tex ./doc/example/epic.tex
*** ../gnutex.old/doc/example/epic.tex	Mon Mar 20 22:02:16 1989
--- ./doc/example/epic.tex	Mon Mar 13 14:38:22 1989
***************
*** 0 ****
--- 1,7 ----
+ \documentstyle[epic,eepic]{article}
+ \textwidth=6in
+ \begin{document}
+  \begin{center}
+   \input{plot}
+  \end{center}
+ \end{document}
diff -cr ../gnutex.old/doc/manual/gnutex.aux ./doc/manual/gnutex.aux
*** ../gnutex.old/doc/manual/gnutex.aux	Thu Feb  2 17:24:50 1989
--- ./doc/manual/gnutex.aux	Mon Mar 13 20:18:09 1989
***************
*** 19,71 ****
  \@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {4}{\ignorespaces An example of many features.}}{8}}
  \newlabel{eg4}{{4}{8}}
  \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.4}Summary --- Use with {\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}}{8}}
  \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Details of GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ Commands}{9}}
  \newlabel{details}{{4}{9}}
! \@writefile{toc}{\string\contentsline\space {paragraph}{Start-up:}{9}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.1}The {\string\ptt\space clear} command}{9}}
! \newlabel{clear}{{4.1}{9}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.2}Command-line substitution}{9}}
  \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.3}The {\string\ptt\space exit} command}{10}}
  \newlabel{exit}{{4.3}{10}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.4}Expressions}{10}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.4.1}Functions}{10}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.4.2}Operators}{11}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.5}The {\string\ptt\space key} command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{11}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.6}The {\string\ptt\space label} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{12}}
! \newlabel{label}{{4.6}{12}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.7}The {\string\ptt\space load} Command}{13}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.8}The {\string\ptt\space plot} Command}{13}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.8.1}The {\string\ptt\space plot} Command: Data Files}{13}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.8.2}The {\string\ptt\space plot} Command: Ranges}{13}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.8.3}The {\string\ptt\space plot} Command: Styles}{14}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.9}The {\string\ptt\space print} Command}{14}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.10}The {\string\ptt\space quit} Command}{14}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.11}The {\string\ptt\space save} Command}{14}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.12}The {\string\ptt\space set} and {\string\ptt\space show} Commands}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.1}The {\string\ptt\space set autoscale} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.2}The {\string\ptt\space set clip} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.3}The {\string\ptt\space set format} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.4}The {\string\ptt\space show functions} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.5}The {\string\ptt\space set logscale} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.6}The {\string\ptt\space set output} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.7}The {\string\ptt\space set samples} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.8}The {\string\ptt\space set size} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.9}The {\string\ptt\space set {\string\pem\space {}xxx} style} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.10}The {\string\ptt\space set terminal} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.11}The {\string\ptt\space set title} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.12}The {\string\ptt\space set style} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{17}}
! \newlabel{set-style}{{4.12.12}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.13}The {\string\ptt\space show variables} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.14}The {\string\ptt\space set xlabel} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.15}The {\string\ptt\space set xrange} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.16}The {\string\ptt\space set xtics} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.17}The {\string\ptt\space set ylabel} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.18}The {\string\ptt\space set yrange} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.19}The {\string\ptt\space set ytics} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.12.20}The {\string\ptt\space set zero} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.13}The {\string\ptt\space shell} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.14}User-defined variables and functions}{19}}
! \newlabel{user-def}{{4.14}{19}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {5}Command-line arguments}{19}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {6}Bugs and deficiencies}{20}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {7}Obtaining GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX}{20}}
--- 19,74 ----
  \@writefile{lof}{\string\contentsline\space {figure}{\string\numberline\space {4}{\ignorespaces An example of many features.}}{8}}
  \newlabel{eg4}{{4}{8}}
  \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.4}Summary --- Use with {\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}}{8}}
+ \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {3.5}Use with FIG}{9}}
  \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {4}Details of GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ Commands}{9}}
  \newlabel{details}{{4}{9}}
! \@writefile{toc}{\string\contentsline\space {paragraph}{Start-up:}{10}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.1}The {\string\ptt\space clear} command}{10}}
! \newlabel{clear}{{4.1}{10}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.2}Command-line substitution}{10}}
  \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.3}The {\string\ptt\space exit} command}{10}}
  \newlabel{exit}{{4.3}{10}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.4}Expressions}{11}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.4.1}Functions}{11}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.4.2}Operators}{12}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.5}The {\string\ptt\space help} command}{12}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.6}The {\string\ptt\space key} command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{12}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.7}The {\string\ptt\space label} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{13}}
! \newlabel{label}{{4.7}{13}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.8}The {\string\ptt\space load} Command}{14}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.9}The {\string\ptt\space plot} Command}{14}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.9.1}The {\string\ptt\space plot} Command: Data Files}{14}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.9.2}The {\string\ptt\space plot} Command: Ranges}{14}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.9.3}The {\string\ptt\space plot} Command: Styles}{15}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.10}The {\string\ptt\space print} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.11}The {\string\ptt\space quit} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.12}The {\string\ptt\space save} Command}{15}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.13}The {\string\ptt\space set} and {\string\ptt\space show} Commands}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.1}The {\string\ptt\space set autoscale} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.2}The {\string\ptt\space set clip} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.3}The {\string\ptt\space set format} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.4}The {\string\ptt\space show functions} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.5}The {\string\ptt\space set logscale} Command}{16}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.6}The {\string\ptt\space set output} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.7}The {\string\ptt\space set samples} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.8}The {\string\ptt\space set size} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.9}The {\string\ptt\space set {\string\pem\space {}xxx} style} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.10}The {\string\ptt\space set terminal} Command}{17}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.11}The {\string\ptt\space set title} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.12}The {\string\ptt\space set style} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{18}}
! \newlabel{set-style}{{4.13.12}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.13}The {\string\ptt\space show variables} Command}{18}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.14}The {\string\ptt\space set xlabel} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.15}The {\string\ptt\space set xrange} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.16}The {\string\ptt\space set xtics} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.17}The {\string\ptt\space set ylabel} Command ({\string\prm\space L\kern -.36em\raise .3ex\hbox {\string\psc\space a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.18}The {\string\ptt\space set yrange} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.19}The {\string\ptt\space set ytics} Command}{19}}
! \@writefile{toc}{\string\contentsline\space {subsubsection}{\string\numberline\space {4.13.20}The {\string\ptt\space set zero} Command}{20}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.14}The {\string\ptt\space shell} Command}{20}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {4.15}User-defined variables and functions}{20}}
! \newlabel{user-def}{{4.15}{20}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {5}Command-line arguments}{20}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {6}Bugs and deficiencies}{21}}
! \@writefile{toc}{\string\contentsline\space {section}{\string\numberline\space {7}Obtaining GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX}{21}}
! \@writefile{toc}{\string\contentsline\space {subsection}{\string\numberline\space {7.1}Obtaining Fig and TransFig}{21}}
diff -cr ../gnutex.old/doc/manual/gnutex.tex ./doc/manual/gnutex.tex
*** ../gnutex.old/doc/manual/gnutex.tex	Thu Feb  2 17:16:30 1989
--- ./doc/manual/gnutex.tex	Mon Mar 13 20:17:31 1989
***************
*** 2,9 ****
  % Manual for gnutex plotting program
  % David Kotz (dfk@cs.duke.edu)
  % Duke University Computer Science Department
- % November 1988
- % Version 1.0
  
  % some header info
  \input{header}
--- 2,7 ----
***************
*** 11,21 ****
  \begin{document}
  
  \title{The Gnu\TeX\ Plotting 
! Program\thanks{This document describes Gnu\TeX\ version 1.5, based on
  gnuplot version 1.0.3. All plots in this document were made with that
  version of Gnu\TeX.} }
  \author{David Kotz \\ \verb+dfk@cs.duke.edu+}
! \date{February 2, 1989}
  
  \maketitle
  
--- 9,19 ----
  \begin{document}
  
  \title{The Gnu\TeX\ Plotting 
! Program\thanks{This document describes Gnu\TeX\ version 1.6, based on
  gnuplot version 1.0.3. All plots in this document were made with that
  version of Gnu\TeX.} }
  \author{David Kotz \\ \verb+dfk@cs.duke.edu+}
! \date{March 13, 1989}
  
  \maketitle
  
***************
*** 25,31 ****
  \newpage
  
  \pagestyle{myheadings}
! \markright{Gnu\TeX\ Manual Version 1.5}
  
  \currentspace % defined in header.tex
  
--- 23,29 ----
  \newpage
  
  \pagestyle{myheadings}
! \markright{Gnu\TeX\ Manual Version 1.6}
  
  \currentspace % defined in header.tex
  
***************
*** 61,68 ****
  Gnu\TeX\ supports the following terminals: Aed767, HP7580 (and
  probably other HPs), QMS/QUIC laserprinter (Talaris 1200 and others),
  ReGis graphics (VT220, VT240, Gigis, \etc), Tektronix 4010 (and
! probably others), Tektronix 4010 (top/bottom half of screen),
! PC (for CGA and EGA), Imagen printers, unixplot, and \LaTeX\ output.
  
  The extensions I made provide the \LaTeX\ output, as well as axes and
  title labels, tic mark labels, user-defined linestyles, two new
--- 59,66 ----
  Gnu\TeX\ supports the following terminals: Aed767, HP7580 (and
  probably other HPs), QMS/QUIC laserprinter (Talaris 1200 and others),
  ReGis graphics (VT220, VT240, Gigis, \etc), Tektronix 4010 (and
! probably others), Tektronix 4010 (top/bottom half of screen), PC (for
! CGA and EGA), Imagen printers, unixplot, and FIG and \LaTeX\ output.
  
  The extensions I made provide the \LaTeX\ output, as well as axes and
  title labels, tic mark labels, user-defined linestyles, two new
***************
*** 96,110 ****
  where {\em type} is precisely one of the following: {\tt cga}, {\tt
  ega}, {\tt corona}, {\tt aed767}, {\tt hp75xx}, {\tt qms}, {\tt
  regis}, {\tt tek40xx}, {\tt toptek}, {\tt bottek}, {\tt unixplot},
! {\tt imagen}, or {\tt latex}.  If it doesn't accept your input, then
! probably Gnu\TeX\ was not compiled to support that terminal. Type {\tt
! set terminal} alone to see what terminals are supported. Ask your
! Gnu\TeX\ maintainer to recompile with support for that terminal.
  
  Once the terminal type is set, you may plot functions and data
  interactively to the screen, using the commands below.  Note that the
! {\tt latex}, {\tt qms}, and {\tt imagen} terminal types are not
! intended for interactive use; see the next section.
  
  \subsection{Using Gnu\TeX\ for Hard Copy}
  \label{secnonint}
--- 94,109 ----
  where {\em type} is precisely one of the following: {\tt cga}, {\tt
  ega}, {\tt corona}, {\tt aed767}, {\tt hp75xx}, {\tt qms}, {\tt
  regis}, {\tt tek40xx}, {\tt toptek}, {\tt bottek}, {\tt unixplot},
! {\tt imagen}, {\tt fig}, or {\tt latex}.  If it doesn't accept your
! input, then probably Gnu\TeX\ was not compiled to support that
! terminal. Type {\tt set terminal} alone to see what terminals are
! supported. Ask your Gnu\TeX\ maintainer to recompile with support for
! that terminal.
  
  Once the terminal type is set, you may plot functions and data
  interactively to the screen, using the commands below.  Note that the
! {\tt latex}, {\tt fig}, {\tt qms}, and {\tt imagen} terminal types are
! not intended for interactive use; see the next section.
  
  \subsection{Using Gnu\TeX\ for Hard Copy}
  \label{secnonint}
***************
*** 116,125 ****
  interpreting the Unix plotting standard. The terminal types {\tt qms},
  {\tt imagen}, and {\tt tek40xx} may be used for output to printers
  understanding those languages (Imagen printers have a Tektronix
! emulation mode.)  A shell script ({\tt lasergnu}) is supplied with the
! distribution that will accept a Gnu\TeX\ command or input file and
! send the output to an Imagen laser printer. The person who installs
! Gnu\TeX\ may have adapted this script to your site.
  
  Thus, we may now ignore the interactive nature of gnutex, and provide
  the input to Gnu\TeX\ from a file, \ie,
--- 115,127 ----
  interpreting the Unix plotting standard. The terminal types {\tt qms},
  {\tt imagen}, and {\tt tek40xx} may be used for output to printers
  understanding those languages (Imagen printers have a Tektronix
! emulation mode.)  The terminal type {\tt fig} outputs FIG code that
! can be read by the Fig graphics program and translated into forms
! usable in both \TeX\ and \LaTeX\ documents.  A shell script ({\tt
! lasergnu}) is supplied with the distribution that will accept a
! Gnu\TeX\ command or input file and send the output to an Imagen laser
! printer. The person who installs Gnu\TeX\ may have adapted this script
! to your site.
  
  Thus, we may now ignore the interactive nature of gnutex, and provide
  the input to Gnu\TeX\ from a file, \ie,
***************
*** 339,344 ****
--- 341,387 ----
  xlabel, set ylabel, key, label, set style}, and {\tt set noclip}.
  These are all described in the next section.
  
+ \subsection{Use with FIG}
+ 
+ Thanks to Micah Beck, author of Fig, Gnu\TeX\ now has a Fig driver.
+ Fig is an interactive drawing program that runs on Sun workstations
+ and under X windows. Files using the Fig language to describe the
+ pictures can be translated (with a suite of programs in the TransFig
+ package) to several other languages, such as PostScript, \TeX, and
+ \LaTeX.
+ 
+ If you choose the {\tt fig} terminal type in Gnu\TeX, a Fig format
+ file is produced that may be edited by Fig, translated by TransFig,
+ and printed or included in a \TeX\ or \LaTeX\ document. If you have
+ the EPIC or EEPIC macros, and your {\tt dvi} translator supports the
+ {\em tpic} \verb+\special+s, then you have the capability for very
+ good-quality output that draws curves with lines instead of dots. 
+ The reader is referred to the Fig and EPIC documentation for further
+ information. 
+ 
+ On the other hand, the Fig driver does not support user-defined
+ linestyles, nor the {\tt key} command.
+ 
+ The input file for Gnu\TeX\ should contain commands similar to these:
+ \singlespace
+ \begin{verbatim}
+     set terminal fig
+     set output "plot.fig"
+     set size 5,4
+ \end{verbatim}
+ \currentspace
+ Note that the output file has a {\tt .fig} extension. To obtain EEPIC
+ output from a command file (called, say, {\tt plot.gnu}), use the
+ shell commands
+ \singlespace
+ \begin{verbatim}
+      gnutex < plot.gnu
+      fig2epic plot.fig plot.tex
+ \end{verbatim}
+ \currentspace
+ Include the file plot.tex in your document as before, along with the
+ document style options {\tt [epic,eepic]}. 
+ 
  %%%%%%% Details section %%%%%%%%%%%%%%%%
  
  \section{Details of Gnu\TeX\ Commands}
***************
*** 412,417 ****
--- 455,461 ----
  will exit Gnu\TeX.  All these commands will clear the output device
  (as the {\tt clear} command does) before exiting.
  
+ \newpage
  \subsection {Expressions}
  
  In general, any mathematical expression accepted by C, FORTRAN,
***************
*** 464,469 ****
--- 508,514 ----
  \hline
  \end{tabular}
  
+ \newpage
  \subsubsection{Operators}
  
  The operators in Gnu\TeX\ are the same as the corresponding operators
***************
*** 491,502 ****
  \verb@|@ & \verb@a|b@ & bitwise inclusive OR\\
  \verb@&&@ & \verb@a&&b@ & logical AND\\
  \verb@||@ & \verb@a||b@ & logical OR\\
! \verb@?:@ & \verb@a?b:c@ & terniary operation\\
  \hline
  \end{tabular}
  \end{center}
  
! The terniary operator evaluates its first argument $a$. If it is true
  (non-zero) the second argument $b$ is returned, otherwise the third
  argument $c$ is returned.
  
--- 536,547 ----
  \verb@|@ & \verb@a|b@ & bitwise inclusive OR\\
  \verb@&&@ & \verb@a&&b@ & logical AND\\
  \verb@||@ & \verb@a||b@ & logical OR\\
! \verb@?:@ & \verb@a?b:c@ & ternary operation\\
  \hline
  \end{tabular}
  \end{center}
  
! The ternary operator evaluates its first argument $a$. If it is true
  (non-zero) the second argument $b$ is returned, otherwise the third
  argument $c$ is returned.
  
***************
*** 511,516 ****
--- 556,567 ----
  \end{tabular}
  \end{center}
  
+ \subsection{The {\tt help} command}
+ The {\tt help} command provides a help message on a variety of
+ topics, including most of the topics in this section. The command
+ takes optional arguments to specify what you would like help about. To
+ begin, simply type {\tt help} or a question mark ({\tt ?}). 
+ 
  \subsection{The {\tt key} command (\LaTeX\ only)}
  The {\tt key} command makes a key describing the curves on a plot.
  Place any {\tt key} command {\em after} the corresponding {\tt plot}
***************
*** 573,579 ****
  look better. Suggestions are welcome.
  
  
! \subsection{The {\tt label} Command (\LaTeX\ and Imagen only)}
  \label{label}
  Arbitrary labels may be placed on the most recent plot, using the {\tt
  label} command. Place any {\tt label} command {\em after} the
--- 624,630 ----
  look better. Suggestions are welcome.
  
  
! \subsection{The {\tt label} Command (\LaTeX, Fig, and Imagen only)}
  \label{label}
  Arbitrary labels may be placed on the most recent plot, using the {\tt
  label} command. Place any {\tt label} command {\em after} the
***************
*** 847,853 ****
  terminal types this may cause errors); try adjusting the $x$ and $y$
  ranges.
  
! \subsubsection{The {\tt set format} Command (\LaTeX\ and Imagen only)}
  
  The format of the tic-mark labels may be set with the {\tt set format}
  command. The default format used for both axes is ``\verb+$%g$+'', but
--- 898,904 ----
  terminal types this may cause errors); try adjusting the $x$ and $y$
  ranges.
  
! \subsubsection{The {\tt set format} Command (\LaTeX, Fig, and Imagen only)}
  
  The format of the tic-mark labels may be set with the {\tt set format}
  command. The default format used for both axes is ``\verb+$%g$+'', but
***************
*** 918,924 ****
      show samples
  \end{syntax}
  
! \subsubsection{The {\tt set size} Command (\LaTeX\ and Imagen only)}
  The {\tt set size} command will set the size of the plot, in inches.
  The syntax is
  \begin{syntax}
--- 969,975 ----
      show samples
  \end{syntax}
  
! \subsubsection{The {\tt set size} Command (\LaTeX, Fig, and Imagen only)}
  The {\tt set size} command will set the size of the plot, in inches.
  The syntax is
  \begin{syntax}
***************
*** 1047,1053 ****
      show variables
  \end{syntax}
  
! \subsubsection{The {\tt set xlabel} Command (\LaTeX\ and Imagen only)}
  In {\tt latex} output, the plot is labeled in a variety of ways.  The
  axes may be labeled and a title provided for the plot with {\tt set}
  commands.  The labels in effect at the time of the {\tt plot} command
--- 1098,1104 ----
      show variables
  \end{syntax}
  
! \subsubsection{The {\tt set xlabel} Command (\LaTeX, Fig, and Imagen only)}
  In {\tt latex} output, the plot is labeled in a variety of ways.  The
  axes may be labeled and a title provided for the plot with {\tt set}
  commands.  The labels in effect at the time of the {\tt plot} command
***************
*** 1088,1094 ****
      set ytics
  \end{syntax}
  
! \subsubsection{The {\tt set ylabel} Command (\LaTeX\ and Imagen only)}
  The {\tt set ylabel} command is similar to the {\tt set xlabel}
  command, and labels the $y$-axis. Its syntax is slightly different,
  however: 
--- 1139,1145 ----
      set ytics
  \end{syntax}
  
! \subsubsection{The {\tt set ylabel} Command (\LaTeX, Fig, and Imagen only)}
  The {\tt set ylabel} command is similar to the {\tt set xlabel}
  command, and labels the $y$-axis. Its syntax is slightly different,
  however: 
***************
*** 1178,1183 ****
--- 1229,1237 ----
  
  \section{Command-line arguments}
  
+ The command line arguments are irrelevant for users of the \LaTeX\
+ driver. 
+ 
  The command line to gnutex  looks like this:
  \begin{syntax}
     gnutex [-l] [-p] [-x]
***************
*** 1213,1219 ****
  other appropriate format. This appears to have been fixed in SunOS
  4.0.
  
! Another bug: On the Sun4, the {\tt sscanf} routine incorrectly parses
  ``00 12'' with the format {\tt "\%f \%f"} and reads 0 and 0 instead of
  0 and 12.  This affects data input. If your data file contains $x$
  coordinates that are zero but are specified like '00', '000' \etc,
--- 1267,1274 ----
  other appropriate format. This appears to have been fixed in SunOS
  4.0.
  
! Another bug: On a Sun3 under SunOS 4.0, and on Sun4's under Sys4-3.2
! and SunOS 4.0, the {\tt sscanf} routine incorrectly parses
  ``00 12'' with the format {\tt "\%f \%f"} and reads 0 and 0 instead of
  0 and 12.  This affects data input. If your data file contains $x$
  coordinates that are zero but are specified like '00', '000' \etc,
***************
*** 1221,1227 ****
  not use a Sun4 until they fix the bug. It appears that this has {\em
  not} been fixed in SunOS 4.0.
  
! Another bug has to do with the way \LaTeX places objects in picture
  mode. I use a \verb+\put(x,y){\makebox(0,0){point}}+ to place the
  points of the graph on the plot. The \verb+point+ above is often
  specified by the user, using a user-defined linestyle. This technique
--- 1276,1282 ----
  not use a Sun4 until they fix the bug. It appears that this has {\em
  not} been fixed in SunOS 4.0.
  
! Another bug has to do with the way \LaTeX\ places objects in picture
  mode. I use a \verb+\put(x,y){\makebox(0,0){point}}+ to place the
  points of the graph on the plot. The \verb+point+ above is often
  specified by the user, using a user-defined linestyle. This technique
***************
*** 1241,1249 ****
  
  Certainly, one of the biggest deficiencies are that curves are not
  plotted with real lines, but as many dots. Decreasing the spacing of
! the dots tends to cause \LaTeX\ to run out of memory. I plan to use
! the EEPIC macro package to draw lines of any slope, allowing for more
! attractive plots.
  
  The tic marks are determined automatically by Gnu\TeX. The only
  control the user has is to turn them completely off. I would like to
--- 1296,1303 ----
  
  Certainly, one of the biggest deficiencies are that curves are not
  plotted with real lines, but as many dots. Decreasing the spacing of
! the dots tends to cause \LaTeX\ to run out of memory. However, this
! can be remedied with the use of the Fig driver.
  
  The tic marks are determined automatically by Gnu\TeX. The only
  control the user has is to turn them completely off. I would like to
***************
*** 1253,1271 ****
  The key doesn't look very nice. I would like to find better ways to
  display the curves, and to put a box around the key.
  
- Currently the plot is output as a \LaTeX\ picture environment. I plan
- to modify it to produce EEPIC code, to obtain arbitrary-slope lines
- inexpensively. Also, for \TeX\ users, there should be \TeX\ output. It
- is also conceivable that output of FIG code would allow for editing
- and conversion to many other output languages.
- 
  If sideways writing were possible, it might be fun to use for the
  $y$-axis label. This is done by the Imagen driver. It would also be
  nice to add different line styles (dotted, dashed, etc.).
  
  And, since Gnu\TeX\ is derived from an old version of gnuplot, it
! would be nice to add many of the newer features and bug fixes of
! gnuplot.
  
  \section{Obtaining Gnu\TeX}
  
--- 1307,1319 ----
  The key doesn't look very nice. I would like to find better ways to
  display the curves, and to put a box around the key.
  
  If sideways writing were possible, it might be fun to use for the
  $y$-axis label. This is done by the Imagen driver. It would also be
  nice to add different line styles (dotted, dashed, etc.).
  
  And, since Gnu\TeX\ is derived from an old version of gnuplot, it
! would be nice to add many of the newer features and bug fixes of the
! latest version of gnuplot.
  
  \section{Obtaining Gnu\TeX}
  
***************
*** 1288,1293 ****
--- 1336,1351 ----
  conditions to make it available for users. Note that Gnu\TeX\ also
  supports unixplot and QMS output, which may be useful for other
  printer types.
+ 
+ \subsection{Obtaining Fig and TransFig}
+ TransFig is available via anonymous FTP from {\tt svax.cs.cornell.edu}
+ in the file
+ \begin{verbatim}
+       ~/ftp/pub/fig/transfig.tar.Z
+ \end{verbatim}
+ It is also available by mail from the Clarkson archive server, and
+ will soon be available from the Rice server as well.  Note that a new
+ version (release 4) is expected in late March 1989.
  
  \section*{Note}
  I have no affiliation with the GNU project or the \TeX\ project. I
diff -cr ../gnutex.old/doc/manual/gnutex.toc ./doc/manual/gnutex.toc
*** ../gnutex.old/doc/manual/gnutex.toc	Thu Feb  2 17:24:50 1989
--- ./doc/manual/gnutex.toc	Mon Mar 13 20:18:09 1989
***************
*** 9,55 ****
  \contentsline {paragraph}{Example 3:}{7}
  \contentsline {paragraph}{Going further:}{7}
  \contentsline {subsection}{\numberline {3.4}Summary --- Use with {\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}}{8}
  \contentsline {section}{\numberline {4}Details of GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ Commands}{9}
! \contentsline {paragraph}{Start-up:}{9}
! \contentsline {subsection}{\numberline {4.1}The {\ptt clear} command}{9}
! \contentsline {subsection}{\numberline {4.2}Command-line substitution}{9}
  \contentsline {subsection}{\numberline {4.3}The {\ptt exit} command}{10}
! \contentsline {subsection}{\numberline {4.4}Expressions}{10}
! \contentsline {subsubsection}{\numberline {4.4.1}Functions}{10}
! \contentsline {subsubsection}{\numberline {4.4.2}Operators}{11}
! \contentsline {subsection}{\numberline {4.5}The {\ptt key} command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{11}
! \contentsline {subsection}{\numberline {4.6}The {\ptt label} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{12}
! \contentsline {subsection}{\numberline {4.7}The {\ptt load} Command}{13}
! \contentsline {subsection}{\numberline {4.8}The {\ptt plot} Command}{13}
! \contentsline {subsubsection}{\numberline {4.8.1}The {\ptt plot} Command: Data Files}{13}
! \contentsline {subsubsection}{\numberline {4.8.2}The {\ptt plot} Command: Ranges}{13}
! \contentsline {subsubsection}{\numberline {4.8.3}The {\ptt plot} Command: Styles}{14}
! \contentsline {subsection}{\numberline {4.9}The {\ptt print} Command}{14}
! \contentsline {subsection}{\numberline {4.10}The {\ptt quit} Command}{14}
! \contentsline {subsection}{\numberline {4.11}The {\ptt save} Command}{14}
! \contentsline {subsection}{\numberline {4.12}The {\ptt set} and {\ptt show} Commands}{15}
! \contentsline {subsubsection}{\numberline {4.12.1}The {\ptt set autoscale} Command}{15}
! \contentsline {subsubsection}{\numberline {4.12.2}The {\ptt set clip} Command}{15}
! \contentsline {subsubsection}{\numberline {4.12.3}The {\ptt set format} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{15}
! \contentsline {subsubsection}{\numberline {4.12.4}The {\ptt show functions} Command}{15}
! \contentsline {subsubsection}{\numberline {4.12.5}The {\ptt set logscale} Command}{15}
! \contentsline {subsubsection}{\numberline {4.12.6}The {\ptt set output} Command}{16}
! \contentsline {subsubsection}{\numberline {4.12.7}The {\ptt set samples} Command}{16}
! \contentsline {subsubsection}{\numberline {4.12.8}The {\ptt set size} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{16}
! \contentsline {subsubsection}{\numberline {4.12.9}The {\ptt set {\pem {}xxx} style} Command}{16}
! \contentsline {subsubsection}{\numberline {4.12.10}The {\ptt set terminal} Command}{16}
! \contentsline {subsubsection}{\numberline {4.12.11}The {\ptt set title} Command}{17}
! \contentsline {subsubsection}{\numberline {4.12.12}The {\ptt set style} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{17}
! \contentsline {subsubsection}{\numberline {4.12.13}The {\ptt show variables} Command}{17}
! \contentsline {subsubsection}{\numberline {4.12.14}The {\ptt set xlabel} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{18}
! \contentsline {subsubsection}{\numberline {4.12.15}The {\ptt set xrange} Command}{18}
! \contentsline {subsubsection}{\numberline {4.12.16}The {\ptt set xtics} Command}{18}
! \contentsline {subsubsection}{\numberline {4.12.17}The {\ptt set ylabel} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ and Imagen only)}{18}
! \contentsline {subsubsection}{\numberline {4.12.18}The {\ptt set yrange} Command}{18}
! \contentsline {subsubsection}{\numberline {4.12.19}The {\ptt set ytics} Command}{18}
! \contentsline {subsubsection}{\numberline {4.12.20}The {\ptt set zero} Command}{19}
! \contentsline {subsection}{\numberline {4.13}The {\ptt shell} Command}{19}
! \contentsline {subsection}{\numberline {4.14}User-defined variables and functions}{19}
! \contentsline {section}{\numberline {5}Command-line arguments}{19}
! \contentsline {section}{\numberline {6}Bugs and deficiencies}{20}
! \contentsline {section}{\numberline {7}Obtaining GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX}{20}
--- 9,58 ----
  \contentsline {paragraph}{Example 3:}{7}
  \contentsline {paragraph}{Going further:}{7}
  \contentsline {subsection}{\numberline {3.4}Summary --- Use with {\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}}{8}
+ \contentsline {subsection}{\numberline {3.5}Use with FIG}{9}
  \contentsline {section}{\numberline {4}Details of GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX\ Commands}{9}
! \contentsline {paragraph}{Start-up:}{10}
! \contentsline {subsection}{\numberline {4.1}The {\ptt clear} command}{10}
! \contentsline {subsection}{\numberline {4.2}Command-line substitution}{10}
  \contentsline {subsection}{\numberline {4.3}The {\ptt exit} command}{10}
! \contentsline {subsection}{\numberline {4.4}Expressions}{11}
! \contentsline {subsubsection}{\numberline {4.4.1}Functions}{11}
! \contentsline {subsubsection}{\numberline {4.4.2}Operators}{12}
! \contentsline {subsection}{\numberline {4.5}The {\ptt help} command}{12}
! \contentsline {subsection}{\numberline {4.6}The {\ptt key} command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{12}
! \contentsline {subsection}{\numberline {4.7}The {\ptt label} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{13}
! \contentsline {subsection}{\numberline {4.8}The {\ptt load} Command}{14}
! \contentsline {subsection}{\numberline {4.9}The {\ptt plot} Command}{14}
! \contentsline {subsubsection}{\numberline {4.9.1}The {\ptt plot} Command: Data Files}{14}
! \contentsline {subsubsection}{\numberline {4.9.2}The {\ptt plot} Command: Ranges}{14}
! \contentsline {subsubsection}{\numberline {4.9.3}The {\ptt plot} Command: Styles}{15}
! \contentsline {subsection}{\numberline {4.10}The {\ptt print} Command}{15}
! \contentsline {subsection}{\numberline {4.11}The {\ptt quit} Command}{15}
! \contentsline {subsection}{\numberline {4.12}The {\ptt save} Command}{15}
! \contentsline {subsection}{\numberline {4.13}The {\ptt set} and {\ptt show} Commands}{16}
! \contentsline {subsubsection}{\numberline {4.13.1}The {\ptt set autoscale} Command}{16}
! \contentsline {subsubsection}{\numberline {4.13.2}The {\ptt set clip} Command}{16}
! \contentsline {subsubsection}{\numberline {4.13.3}The {\ptt set format} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{16}
! \contentsline {subsubsection}{\numberline {4.13.4}The {\ptt show functions} Command}{16}
! \contentsline {subsubsection}{\numberline {4.13.5}The {\ptt set logscale} Command}{16}
! \contentsline {subsubsection}{\numberline {4.13.6}The {\ptt set output} Command}{17}
! \contentsline {subsubsection}{\numberline {4.13.7}The {\ptt set samples} Command}{17}
! \contentsline {subsubsection}{\numberline {4.13.8}The {\ptt set size} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{17}
! \contentsline {subsubsection}{\numberline {4.13.9}The {\ptt set {\pem {}xxx} style} Command}{17}
! \contentsline {subsubsection}{\numberline {4.13.10}The {\ptt set terminal} Command}{17}
! \contentsline {subsubsection}{\numberline {4.13.11}The {\ptt set title} Command}{18}
! \contentsline {subsubsection}{\numberline {4.13.12}The {\ptt set style} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}\ only)}{18}
! \contentsline {subsubsection}{\numberline {4.13.13}The {\ptt show variables} Command}{18}
! \contentsline {subsubsection}{\numberline {4.13.14}The {\ptt set xlabel} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{19}
! \contentsline {subsubsection}{\numberline {4.13.15}The {\ptt set xrange} Command}{19}
! \contentsline {subsubsection}{\numberline {4.13.16}The {\ptt set xtics} Command}{19}
! \contentsline {subsubsection}{\numberline {4.13.17}The {\ptt set ylabel} Command ({\prm L\kern -.36em\raise .3ex\hbox {\psc a}\kern -.15em T\kern -.1667em\lower .7ex\hbox {E}\kern -.125emX}, Fig, and Imagen only)}{19}
! \contentsline {subsubsection}{\numberline {4.13.18}The {\ptt set yrange} Command}{19}
! \contentsline {subsubsection}{\numberline {4.13.19}The {\ptt set ytics} Command}{19}
! \contentsline {subsubsection}{\numberline {4.13.20}The {\ptt set zero} Command}{20}
! \contentsline {subsection}{\numberline {4.14}The {\ptt shell} Command}{20}
! \contentsline {subsection}{\numberline {4.15}User-defined variables and functions}{20}
! \contentsline {section}{\numberline {5}Command-line arguments}{20}
! \contentsline {section}{\numberline {6}Bugs and deficiencies}{21}
! \contentsline {section}{\numberline {7}Obtaining GnuT\kern -.1667em\lower .5ex\hbox {E}\kern -.125emX}{21}
! \contentsline {subsection}{\numberline {7.1}Obtaining Fig and TransFig}{21}
Department of Computer Science, Duke University, Durham, NC 27706 USA
ARPA:	dfk@cs.duke.edu
CSNET:	dfk@duke        
UUCP:	decvax!duke!dfk