--- loncom/xml/londefdef.pm 2002/05/09 15:44:43 1.57 +++ loncom/xml/londefdef.pm 2002/05/15 15:21:21 1.60 @@ -2,7 +2,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.57 2002/05/09 15:44:43 sakharuk Exp $ +# $Id: londefdef.pm,v 1.60 2002/05/15 15:21:21 sakharuk Exp $ # # # Copyright Michigan State University Board of Trustees @@ -52,7 +52,7 @@ use Apache::File(); BEGIN { - &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','select','option','input','textarea','form','meta','title','body','center','b','strong','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','allow','frameset','pre','insert','externallink','table','tr','td')); + &Apache::lonxml::register('Apache::londefdef',('m','html','head','map','select','option','input','textarea','form','meta','title','body','center','b','strong','dt','h1','h2','h3','h4','h5','h6','cite','i','address','dd','dl','dir','ol','ul','menu','dfn','kbd','tt','code','em','q','p','br','big','small','basefont','font','s','sub','strike','sup','hr','a','li','u','output','param','applet','img','embed','allow','frameset','pre','insert','externallink','table','tr','th','td')); } @@ -1378,16 +1378,64 @@ EDITBUTTON } return $currentstring; } +#-- tag + sub start_th { + my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; + my $currentstring = ''; + if ($target eq 'web') { + $currentstring = $token->[4]; + } elsif ($target eq 'tex') { + my $what_to_push = substr(&Apache::lonxml::get_param('align',$parstack,$safeeval),0,1); + if ($what_to_push eq '') { + $what_to_push = substr($Apache::londefdef::table[-1]{'rows'}[0],0,1);; + } + push @{ $Apache::londefdef::table[-1]{'columns'} }, $what_to_push; + $Apache::londefdef::table[-1]{'counter_columns'}++; + &Apache::lonxml::startredirection(); +; + } + return $currentstring; + } + sub end_th { + my ($target,$token) = @_; + my $currentstring = ''; + if ($target eq 'web') { + $currentstring = $token->[2]; + } elsif ($target eq 'tex') { + my $current_row = $Apache::londefdef::table[-1]{'row_number'}; + my $data=&Apache::lonxml::endredirection(); + @{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\bf{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'}; + } + return $currentstring; + } #-- tag sub start_img { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]= $token->[2]->{'src'}; my $currentstring = ''; + my $width_param = ''; if ($target eq 'web') { $currentstring = $token->[4]; } elsif ($target eq 'tex') { + my $TeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval); + my $TeXheight = &Apache::lonxml::get_param('TeXheight',$parstack,$safeeval); + my $width = &Apache::lonxml::get_param('width',$parstack,$safeeval); + if ($TeXwidth ne '') { + $width_param = $TeXwidth; + } elsif ($TeXheight ne '') { + $width_param = $TeXheight; + } else { + if ($width ne '') { + $width_param = $width*.3; + if ($width_param <= 900) { + $width_param = '[width='.$width_param.'mm]'; + } else { + $width_param = '[width= 9.0 cm]'; + } + } + } my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval); $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); my $file; @@ -1401,14 +1449,14 @@ EDITBUTTON $file=~s/(\.gif|\.jpg)$/\.eps/; if (-e $newsrc) { if ($path) { - $currentstring .= '\graphicspath{{'.$path.'}}\fbox{\includegraphics{'.$file.'}}'; + $currentstring .= '\graphicspath{{'.$path.'}}\fbox{\includegraphics'.$width_param.'{'.$file.'}}'; } } else { my $temp_file; my $filename = "/home/httpd/prtspool/$ENV{'user.name'}$ENV{'user.domain'}temp$ENV{'user.login.time'}.dat"; $temp_file = Apache::File->new('>>'.$filename); print $temp_file "$src\n"; - $currentstring .= '\graphicspath{{/home/httpd/prtspool/}}\fbox{\includegraphics{'.$file.'}}'; + $currentstring .= '\graphicspath{{/home/httpd/prtspool/}}\fbox{\includegraphics'.$width_param.'{'.$file.'}}'; } } return $currentstring;