[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm
foxr
lon-capa-cvs-allow@mail.lon-capa.org
Fri, 06 Apr 2007 10:41:46 -0000
foxr Fri Apr 6 06:41:46 2007 EDT
Modified files:
/loncom/xml londefdef.pm
Log:
Clean up table width calculations now that I'm a bit less
confused about what's going on here. I think this will allow
me to mark bz 4967 fixed with a clean conscience.
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.363 loncom/xml/londefdef.pm:1.364
--- loncom/xml/londefdef.pm:1.363 Fri Apr 6 06:33:37 2007
+++ loncom/xml/londefdef.pm Fri Apr 6 06:41:45 2007
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.363 2007/04/06 10:33:37 foxr Exp $
+# $Id: londefdef.pm,v 1.364 2007/04/06 10:41:45 foxr Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -1985,19 +1985,14 @@
} else {
$TeXwidth = $textwidth;
}
- } else {
- $Apache::londefdef::table[-1]{'forcedtablewidth'} = 1;
- }
- # This stuff looks a bit hokey..
- # Percentage width is actually given as an absolute width..
- # so what's the difference?
- #
+ }
+ # if the width is specified as a % it is converted to an absolute width.
+ # otherwise.. just plugged right in the hash
+
if ($TeXwidth=~/%/) {
- $Apache::londefdef::table[-1]{'percent'}=1;
$TeXwidth=~/(\d+)/;
$Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100;
} else {
- $Apache::londefdef::table[-1]{'forcedtablewidth'} = 1; # may or may not need this?
$Apache::londefdef::table[-1]{'width'}=$TeXwidth;
}
# In the end, however the table width cannot be wider than $textwidth...
@@ -2229,16 +2224,16 @@
}
}
}
- #use all available width if it is defined in % or as TeXwidth
- if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcedtablewidth'}==1)) {
- my $current=0;
- for (my $i=0;$i<=$#fwidth;$i++) {
- $current+=$fwidth[$i];
- }
- my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
- for (my $i=0;$i<=$#fwidth;$i++) {
- $fwidth[$i]*=$coef;
- }
+ # use all available width or specified width as if not specified,
+ # the specified width gets defaulted to the available width.
+
+ my $current=0;
+ for (my $i=0;$i<=$#fwidth;$i++) {
+ $current+=$fwidth[$i];
+ }
+ my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
+ for (my $i=0;$i<=$#fwidth;$i++) {
+ $fwidth[$i]*=$coef;
}
#removing of empty columns if allowed
my $permission=&Apache::lonxml::get_param('TeXDropEmptyColumns',$parstack,$safeeval,undef,0);