[LON-CAPA-cvs] cvs: loncom /homework/caparesponse caparesponse.pm

sakharuk lon-capa-cvs@mail.lon-capa.org
Thu, 19 Feb 2004 21:49:33 -0000


sakharuk		Thu Feb 19 16:49:33 2004 EDT

  Modified files:              
    /loncom/homework/caparesponse	caparesponse.pm 
  Log:
  Small but important change to print bubbles with correct size in the case of 
  "d" format numbers.
  
  
Index: loncom/homework/caparesponse/caparesponse.pm
diff -u loncom/homework/caparesponse/caparesponse.pm:1.131 loncom/homework/caparesponse/caparesponse.pm:1.132
--- loncom/homework/caparesponse/caparesponse.pm:1.131	Fri Feb 13 16:12:54 2004
+++ loncom/homework/caparesponse/caparesponse.pm	Thu Feb 19 16:49:33 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # caparesponse definition
 #
-# $Id: caparesponse.pm,v 1.131 2004/02/13 21:12:54 albertel Exp $
+# $Id: caparesponse.pm,v 1.132 2004/02/19 21:49:33 sakharuk Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -385,22 +385,23 @@
 	if ($member=~/(\d*)\.?(\d*)(E|e)(\+|-)?(\d*)/) {
 	    $cell_width_real=(length($1)+length($2)+length($5)+9)*$scale;
 	} elsif ($member=~/(\d*)\.?(\d*)/) {
-	    $cell_width_real=(length($1)+length($2)+2)*$scale;
+	    $cell_width_real=(length($1)+length($2)+3)*$scale;
 	} else {
 	    $cell_width_real=(length($member)+1)*$scale;
 	}
 	if ($cell_width_real>$cell_width) {$cell_width=$cell_width_real;}
     }
-    $cell_width+=8;
+    $cell_width+=8; 
     my $textwidth;
     if ($ENV{'form.textwidth'} ne '') {
-	$ENV{'form.textwidth'}=~/(\d+)/;
-	$textwidth=$1;
+	$ENV{'form.textwidth'}=~/(\d*)\.?(\d*)/;
+	$textwidth=$1.'.'.$2;
     } else {
-	$ENV{'textwidth'}=~/(\d+)/;
-	$textwidth=$1;
+	$ENV{'textwidth'}=~/(\d+)\.?(\d*)/;
+	$textwidth=$1.'.'.$2;
     }
     my $bubbles_per_line=int($textwidth/$cell_width);
+    if (($bubbles_per_line > $number_of_bubbles/2) && ($number_of_bubbles % 2==2)) {$bubbles_per_line=$number_of_bubbles/2;}
     my $number_of_tables = int($number_of_bubbles/$bubbles_per_line);
     my @table_range = ();
     for (my $i=0;$i<$number_of_tables;$i++) {push @table_range,$bubbles_per_line;}