@@ -1243,9 +1274,7 @@ sub start_br {
$signal = 1;
}
}
- if ($signal eq 1) {
- $currentstring .= ' \vskip 0 mm ';
- } else {
+ if ($signal != 1) {
$currentstring .= '\strut \\\\ \strut ';
}
@@ -2058,6 +2087,7 @@ sub end_table {
if ($target eq 'web' || $target eq 'webgrade') {
$currentstring = $token->[2];
} elsif ($target eq 'tex') {
+ my $border = &Apache::lonxml::get_param('border',$parstack,$safeeval);
my $inmemory = '';
my $output = '';
my $WARNING='';
@@ -2154,11 +2184,11 @@ sub end_table {
my @fwidth=@{$Apache::londefdef::table[-1]{'TeXlen'}[0]};#final width array
my @adjust=();
#step 1. adjustment by maximum value
- my $space_neeeded=0;
+ my $space_needed=0;
for (my $jn=0;$jn<=$#max_len;$jn++) {
- $space_neeeded=$space_neeeded+$max_len[$jn];
+ $space_needed=$space_needed+$max_len[$jn];
}
- if ($space_neeeded<=$available_space) {
+ if ($space_needed<=$available_space) {
for (my $jn=0;$jn<=$#max_len;$jn++) {
if ($fwidth[$jn]==0) {
@@ -2167,11 +2197,11 @@ sub end_table {
}
} else {
#step 2. adjustment by minimum value (estimation)
- $space_neeeded=0;
+ $space_needed=0;
for (my $jn=0;$jn<=$#min_len;$jn++) {
- $space_neeeded+=$min_len[$jn];
+ $space_needed+=$min_len[$jn];
}
- if ($space_neeeded>$available_space) {
+ if ($space_needed>$available_space) {
$WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} ';
for (my $jn=0;$jn<=$#max_len;$jn++) {
if ($fwidth[$jn]==0) {
@@ -2188,7 +2218,7 @@ sub end_table {
}
}
if ($how_many_to_scale>0) {
- my $space_to_adjust=($space_neeeded-$available_space)/$how_many_to_scale;
+ my $space_to_adjust=($space_needed-$available_space)/$how_many_to_scale;
foreach my $jn (@to_scale) {
for (my $in=0;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {
$Apache::londefdef::table[-1]{'content'}[$in][$jn]=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/;
@@ -2210,7 +2240,7 @@ sub end_table {
}
} else {
#step 3. adjustment over minimal + corrections
- my $enlarge_coef=$available_space/$space_neeeded;
+ my $enlarge_coef=$available_space/$space_needed;
my $acsessive=0;
for (my $jn=0;$jn<=$#min_len;$jn++) {
$adjust[$jn]=$min_len[$jn]*$enlarge_coef;
@@ -2250,6 +2280,9 @@ sub end_table {
for (my $i=0;$i<=$#fwidth;$i++) {
$current+=$fwidth[$i];
}
+ if ($current == 0) {
+ $current = $Apache::londefdef::table[-1]{'width'};
+ }
my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
for (my $i=0;$i<=$#fwidth;$i++) {
$fwidth[$i]*=$coef;
@@ -2302,6 +2335,10 @@ sub end_table {
# Do the appropriate magic if this has a colspan
#
+ my $border_char = "";
+ if ($border) {
+ $border_char = "|";
+ }
my $spanwidth = 0;
if ($colspan > 1) {
for (my $spancol = $jn; $spancol < $jn + $colspan; $spancol++) {
@@ -2311,12 +2348,12 @@ sub end_table {
$colspan
."}";
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '{|c|}{';
+ $output .= '{'.$border_char.'c'.$border_char.'}{';
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '{|r|}{';
+ $output .= '{'.$border_char.'r'.$border_char.'}{';
}
else {
- $output .= "{|p{$spanwidth mm}|}{";
+ $output .= '{'.$border_char."p{$spanwidth mm}".$border_char.'}{';
}
} else {
@@ -2332,10 +2369,10 @@ sub end_table {
if ($rowspan > 1) {
if ($colspan == 1) {
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '\multicolumn{1}{|c|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'c'.$border_char.'}{';
$multirow_aligned = 1;
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '\multicolumn{1}{|r|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'r'.$border_char.'}{';
$multirow_aligned = 1;
}
}
@@ -2372,9 +2409,9 @@ sub end_table {
#
if ($colspan == 1 && $rowspan == 1) {
if ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'c') {
- $output .= '\multicolumn{1}{|c|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'c'.$border_char.'}{';
} elsif ($Apache::londefdef::table[-1]{'align'}[$in][$jn] eq 'r') {
- $output .= '\multicolumn{1}{|r|}{';
+ $output .= '\multicolumn{1}{'.$border_char.'r'.$border_char.'}{';
}
}
@@ -3001,9 +3038,10 @@ sub start_img {
# And here's where the semi-quote breaks down: allow the user
# to edit the beast as well by rendering the problem for edit:
} elsif ($target eq 'edit') {
+ my $only = join(',',&Apache::loncommon::filecategorytypes('Pictures'));
$currentstring .=&Apache::edit::tag_start($target,$token);
$currentstring .=&Apache::edit::text_arg('Image Url:','src',$token,70).
- &Apache::edit::browse('src',undef,'alt').' '.
+ &Apache::edit::browse('src',undef,'alt',$only).' '.
&Apache::edit::search('src',undef,'alt').'
';
$currentstring .=&Apache::edit::text_arg('Description:','alt',$token,70).'
';
$currentstring .=&Apache::edit::text_arg('width (pixel):','width',$token,5);