--- loncom/xml/londefdef.pm 2010/08/20 21:20:24 1.403.4.2 +++ loncom/xml/londefdef.pm 2010/11/18 18:07:02 1.403.4.4 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.403.4.2 2010/08/20 21:20:24 raeburn Exp $ +# $Id: londefdef.pm,v 1.403.4.4 2010/11/18 18:07:02 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -2702,17 +2702,26 @@ sub tag_check { # sub cell_config_hash { - my ($align, $rowspan, $colspan) = @_; + my ($align, $rowspan, $colspan, $width) = @_; + if ($rowspan ne '') { + $rowspan =~ s/^\s+|\s+$//g; + } + if ($colspan ne '') { + $colspan =~ s/^\s+|\s+$//g; + } my %config; if ($align ne '') { $config{'halign'} = $align; } - if ($colspan ne "") { + if (($colspan =~ /^\d+$/) && ($colspan > 0)) { $config{'colspan'} = $colspan; } - if ($rowspan ne '') { + if (($rowspan =~ /^\d+$/) && ($rowspan > 0)) { $config{'rowspan'} = $rowspan; } + if ($width ne '') { + $config{'width'} = $width; + } return \%config; } @@ -2724,11 +2733,11 @@ sub start_td_tex { # attributes, but empty of text. end_td_tex will # fetch the contents from the recursive parse and # fill the cell with them: - my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 1); - my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval, undef, 1); - my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval, undef, 1); - - my $config = &cell_config_hash($align, $rowspan, $colspan); + my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval); + my $rowspan = &Apache::lonxml::get_param('rowspan', $parstack, $safeeval); + my $colspan = &Apache::lonxml::get_param('colspan', $parstack, $safeeval); + my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval); + my $config = &cell_config_hash($align, $rowspan, $colspan, $width); my $table = $Apache::londefdef::table[-1]; $table->add_cell('', $config);