--- loncom/xml/londefdef.pm 2010/11/09 21:28:20 1.415.4.2 +++ loncom/xml/londefdef.pm 2010/08/16 15:56:08 1.421 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.415.4.2 2010/11/09 21:28:20 raeburn Exp $ +# $Id: londefdef.pm,v 1.421 2010/08/16 15:56:08 raeburn Exp $ # # # Copyright Michigan State University Board of Trustees @@ -2048,27 +2048,27 @@ sub start_table { my $width = &Apache::lonxml::get_param('TeXwidth', $parstack, $safeeval, undef, 0); my $theme = &Apache::lonxml::get_param('TeXtheme', $parstack, $safeeval, undef, 0); my $align = &Apache::lonxml::get_param('align', $parstack, $safeeval, undef, 0); - my $cell_border = &Apache::lonxml::get_param('rules', $parstack, $safeeval, undef, 0); + my $cell_border = &Apache::lonxml::get_param('rules', $parstack, $safeeval, undef, 0); # The only thing that needs any figuring out is the width.. and then only if it is # a percent. If not it's assumed to be some valid TeX measurement unit e.g. 3.0cm # my $table = new Apache::lontable(); - if ((defined $border) && ($border > 0)) { - # &Apache::lonnet::logthis("Turning on table borders: $border"); - $table->table_border(1); - if ($cell_border ne 'none') { - $table->cell_border(1); # html specs that border turns on both...unless rules='none'. - } - } - # Only all or nothing for cell borders for now: + if ((defined $border) && ($border > 0)) { + # &Apache::lonnet::logthis("Turning on table borders: $border"); + $table->table_border(1); + if ($cell_border ne 'none') { + $table->cell_border(1); # html specs that border turns on both...unless rules='none'. + } + } + # Only all or nothing for cell borders for now: - if ((defined $cell_border) && ($cell_border ne 'none')) { - # &Apache::lonnet::logthis("Turning on cell borders: $cell_border"); + if ((defined $cell_border) && ($cell_border ne 'none')) { + # &Apache::lonnet::logthis("Turning on cell borders: $cell_border"); $table->cell_border(1); } - if (defined $theme) { + if (defined $theme) { $table->theme($theme); } if (defined $align) { @@ -2080,7 +2080,7 @@ sub start_table { if (!(defined $width)) { $width = '70%'; } - + # If a percentage, need to calculate what this means in terms of # page width: @@ -2732,7 +2732,7 @@ sub tag_check { # sub cell_config_hash { - my ($align, $rowspan, $colspan, $width) = @_; + my ($align, $rowspan, $colspan) = @_; my %config; if ($align ne '') { $config{'halign'} = $align; @@ -2743,9 +2743,6 @@ sub cell_config_hash { if ($rowspan ne '') { $config{'rowspan'} = $rowspan; } - if ($width ne '') { - $config{'width'} = $width; - } return \%config; } @@ -2757,11 +2754,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); - 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 $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 $table = $Apache::londefdef::table[-1]; $table->add_cell('', $config); @@ -3172,24 +3169,13 @@ sub start_img { # Render unto browsers that which are the browser's... if ($target eq 'web' || $target eq 'webgrade') { - if ($env{'browser.imagesuppress'} ne 'on') { - my $enc = ('yes' eq - lc(&Apache::lonxml::get_param('encrypturl',$parstack, - $safeeval))); - $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, - $enc); - } else { - my $alttag = &Apache::lonxml::get_param('alt',$parstack,$safeeval, - undef,1); - if (!$alttag) { - $alttag = &Apache::lonmeta::alttag($Apache::lonxml::pwd[-1], - $src); - } - $currentstring.='[IMAGE: '.$alttag.']'; - } - - # and render unto TeX that which is LaTeX + my $enc = ('yes' eq + lc(&Apache::lonxml::get_param('encrypturl',$parstack, + $safeeval))); + $currentstring.=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}, + $enc); + # and render unto TeX that which is LaTeX } elsif ($target eq 'tex') { # # The alignment will require some superstructure to be put around @@ -3290,7 +3276,7 @@ sub start_img { ['', 'none','parbox', 'parpic', 'wrapfigure'], $token, 2); my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval); my $enc= &Apache::lonxml::get_param('encrypturl',$parstack,$safeeval); - + $currentstring .=&Apache::edit::select_arg('Encrypt URL:','encrypturl', ['no','yes'], $token, 2); if (($alt=~/\S/) && (lc($enc) eq 'yes')) { @@ -3304,10 +3290,10 @@ sub start_img { if ($token->[2]{'src'}=~/\$/) { $currentstring.=&mt('Variable image source'); } elsif ($token->[2]{'src'}=~/\S/) { - $currentstring .= ''.$alt.'$code, - 'archive'=>$archive} - ); - } else { - my $alttag= &Apache::lonxml::get_param('alt',$parstack, - $safeeval,undef,1); - unless ($alttag) { - $alttag=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1], - $code); - } - $currentstring='[APPLET: '.$alttag.']'; - } + $currentstring = &Apache::lonenc::encrypt_ref($token, + {'code'=>$code, + 'archive'=>$archive} + ); } elsif ($target eq 'tex') { - # Turn off some stuff we can't be inside thank you LaTeX - + # Turn off some stuff we can't be inside thank you LaTeX my $restart_sub = 0; my $restart_sup = 0; @@ -3458,16 +3433,7 @@ sub start_embed { &Apache::lonxml::extlink($src); my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - if ($env{'browser.embedsuppress'} ne 'on') { - $currentstring=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}); - } else { - my $alttag=&Apache::lonxml::get_param - ('alt',$parstack,$safeeval,undef,1); - unless ($alttag) { - $alttag=&Apache::lonmeta::alttag($Apache::lonxml::pwd[-1],$src); - } - $currentstring='[EMBED: '.$alttag.']'; - } + $currentstring=&Apache::lonenc::encrypt_ref($token,{'src'=>$src}); } elsif ($target eq 'tex') { } return $currentstring; @@ -3477,9 +3443,10 @@ sub end_embed { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - $currentstring = $token->[2]; - } elsif ($target eq 'tex') { - } + $currentstring = $token->[2]; + } elsif ($target eq 'tex') { + # ./. + } return $currentstring; } @@ -3917,12 +3884,16 @@ sub end_colgroup { return $currentstring; } + #-- tag (end tag required) sub start_del { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { $currentstring = $token->[4]; + } elsif ($target eq 'tex') { + &disable_para(); + $currentstring .= '\st{'; } return $currentstring; } @@ -3931,7 +3902,10 @@ sub end_del { my ($target,$token) = @_; my $currentstring = ''; if ($target eq 'web' || $target eq 'webgrade') { - $currentstring = $token->[2]; + $currentstring = $token->[2]; + } elsif ($target eq 'tex') { + &enable_para(); + $currentstring = '}'; } return $currentstring; } @@ -4867,6 +4841,7 @@ sub latex_header { "\\usepackage{xcolor}\n". '\usepackage{calc}'. '\usepackage{amsmath}'. + '\usepackage{soul}', '\usepackage{amssymb}'. '\usepackage{amsfonts}'. '\usepackage{amsthm}'.