--- loncom/xml/lonplot.pm	2002/04/25 20:39:50	1.72
+++ loncom/xml/lonplot.pm	2002/10/11 13:06:46	1.78
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Dynamic plot
 #
-# $Id: lonplot.pm,v 1.72 2002/04/25 20:39:50 matthew Exp $
+# $Id: lonplot.pm,v 1.78 2002/10/11 13:06:46 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -112,7 +112,7 @@ my $words_test     = sub {$_[0]=~s/\s+/
 ##                                                               ##
 ###################################################################
 my @gnuplot_edit_order = 
-    qw/alttag bgcolor fgcolor height width font transparent grid border align/;
+    qw/alttag bgcolor fgcolor height width font transparent grid samples border align/;
 
 my $gnuplot_help_text = <<"ENDPLOTHELP";
 <p>
@@ -208,6 +208,13 @@ my %gnuplot_defaults =
 	 edit_type   => 'choice',
 	 choices     => ['small','medium','large']
 	 },
+     samples         => {
+	 default     => '100',
+	 test        => $int_test,
+	 description => 'Number of samples for non-data plots',
+	 edit_type   => 'choice',
+	 choices     => ['100','200','500','1000','2000','5000']
+	 },
      align        => {
 	 default     => 'center',
 	 test        => sub {$_[0]=~/^(left|right|center)$/},
@@ -312,7 +319,7 @@ my %axis_defaults =
      color   => {
 	 default => 'x000000', 
 	 test => $color_test,
-	 description => 'color of axes (x000000)',
+	 description => 'color of grid lines (x000000)',
 	 edit_type   => 'entry',
 	 size        => '10'
 	 },
@@ -499,7 +506,7 @@ sub end_gnuplot {
 ENDIMAGE
         } elsif ($target eq 'tex') {
 	    &Apache::lonnet::ssi("/cgi-bin/plot.gif?file=$filename.data&output=eps");
-	    $result = '\\\\ \graphicspath{/home/httpd/perl/tmp/}\fbox{\includegraphics[width=9.0 cm]{'.&Apache::lonnet::unescape($filename).'.eps}} \\\\';
+	    $result = '\graphicspath{{/home/httpd/perl/tmp/}}\fbox{\includegraphics{'.&Apache::lonnet::unescape($filename).'.eps}}';
 	}
     } elsif ($target eq 'edit') {
 	$result.=&Apache::edit::tag_end($target,$token);
@@ -990,7 +997,7 @@ sub write_gnuplot_file {
 	# set output
 	$gnuplot_input .= "set output\n";
     } elsif ($target eq 'tex') {
-	$gnuplot_input .= "set term postscript eps monochrome\n";
+	$gnuplot_input .= "set term postscript eps monochrome solid\n";
 	$gnuplot_input .= "set output \"/home/httpd/perl/tmp/".
 	    &Apache::lonnet::unescape($filename).".eps\"\n";
     }
@@ -1000,6 +1007,8 @@ sub write_gnuplot_file {
     $gnuplot_input .= ($plot{'border'} eq 'on'?
 		       'set border'.$/           :
 		       'set noborder'.$/         );
+    # sampling rate for non-data curves
+    $gnuplot_input .= "set samples $plot{'samples'}\n";
     # title, xlabel, ylabel
     # titles
     $gnuplot_input .= "set title  \"$title\"\n"  if (defined($title)) ;
@@ -1041,6 +1050,10 @@ sub write_gnuplot_file {
 	$gnuplot_input .= 'set label "'.$label->{'text'}.'" at '.
 	    $label->{'xpos'}.','.$label->{'ypos'}.' '.$label->{'justify'}.$/ ;
     }
+    if ($target eq 'tex') {
+        $gnuplot_input .="set size 1,".$plot{'height'}/$plot{'width'}*1.38;
+        $gnuplot_input .="\n";
+        }
     # curves
     $gnuplot_input .= 'plot ';
     for (my $i = 0;$i<=$#curves;$i++) {
@@ -1051,7 +1064,7 @@ sub write_gnuplot_file {
 		$curve->{'function'}.' title "'.
 		$curve->{'name'}.'" with '.
                 $curve->{'linestyle'};
-            $gnuplot_input.= ' linewidth 2 ' if ($target eq 'tex');
+            $gnuplot_input.= ' linewidth 4 ' if ($target eq 'tex');
             if (($curve->{'linestyle'} eq 'points')      ||
                 ($curve->{'linestyle'} eq 'linespoints') ||
                 ($curve->{'linestyle'} eq 'errorbars')   ||
@@ -1084,7 +1097,7 @@ sub write_gnuplot_file {
 	    $gnuplot_input.= '"'.$datafilename.'" title "'.
 		$curve->{'name'}.'" with '.
 		$curve->{'linestyle'};
-            $gnuplot_input.= ' linewidth 2 ' if ($target eq 'tex');
+            $gnuplot_input.= ' linewidth 4 ' if ($target eq 'tex');
             if (($curve->{'linestyle'} eq 'points')      ||
                 ($curve->{'linestyle'} eq 'linespoints') ||
                 ($curve->{'linestyle'} eq 'errorbars')   ||