Diff for /loncom/xml/londefdef.pm between versions 1.82 and 1.86

version 1.82, 2002/08/01 19:47:29 version 1.86, 2002/08/30 17:57:32
Line 52  use Image::Magick; Line 52  use Image::Magick;
   
 BEGIN {  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','th','td','blankspace','bubble','bubbles','bubbleline'));      &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','div','externallink','table','tr','th','td','blankspace','bubble','bubbles','bubbleline'));
   
 }  }
   
Line 91  sub start_m { Line 91  sub start_m {
     #&Apache::lonxml::debug("M is ends with:$currentstring:");      #&Apache::lonxml::debug("M is ends with:$currentstring:");
   } elsif ($target eq 'tex') {    } elsif ($target eq 'tex') {
     $currentstring = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);      $currentstring = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);
     if ($currentstring=~/\s*\\\\\s*/) {$currentstring = ' \vskip 0 mm ';}      if ($currentstring=~/^(\s*\\\\\s*)*$/) {$currentstring = ' \vskip 0 mm ';}
   } else {    } else {
     my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);      my $inside = &Apache::lonxml::get_all_text_unbalanced("/m",$parser);
   }    }
Line 126  sub end_m { Line 126  sub end_m {
                                  \newcommand{\keephidden}[1]{}                                   \newcommand{\keephidden}[1]{}
                                  \renewcommand{\deg}{$^{\circ}$}                                   \renewcommand{\deg}{$^{\circ}$}
                                  \usepackage[dvips]{graphicx}                                   \usepackage[dvips]{graphicx}
                                  \usepackage{epsfig}\usepackage{calc}';                                   \usepackage{epsfig}\usepackage{calc}
                                    \newenvironment{choicelist}{\begin{enumerate}}{\end{enumerate}}';
     }      }
    return $currentstring;     return $currentstring;
  }   }
Line 1039  EDITBUTTON Line 1040  EDITBUTTON
             if ($target eq 'web') {              if ($target eq 'web') {
        $currentstring .= $token->[4];         $currentstring .= $token->[4];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring .= '\vskip 0 mm \noindent\makebox[\textwidth ][b]{\hrulefill}\vskip 0 mm ';   $currentstring .= '\vskip 0 mm \noindent\makebox[\textwidth/2 ][b]{\hrulefill}\vskip 0 mm ';
     }       } 
            return $currentstring;             return $currentstring;
  }   }
Line 1052  EDITBUTTON Line 1053  EDITBUTTON
     }       } 
            return $currentstring;             return $currentstring;
  }   }
   #-- <div> tag
           sub start_div {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
          $currentstring .= $token->[4];
       } 
              return $currentstring;
    }
           sub end_div {
       my ($target,$token) = @_;
               my $currentstring = '';
               if ($target eq 'web') {
          $currentstring .= $token->[2];
       } 
              return $currentstring;
    }
 #-- <a> tag  #-- <a> tag
         sub start_a {          sub start_a {
     my ($target,$token) = @_;      my ($target,$token) = @_;
Line 1532  EDITBUTTON Line 1550  EDITBUTTON
             my $currentstring = '';              my $currentstring = '';
     my $width_param = '';      my $width_param = '';
     my $height_param = '';      my $height_param = '';
     my $scaling = .3;      my $scaling = .3; 
   
     if ($target eq 'web') {      if ($target eq 'web') {
               $currentstring = $token->[4];                     $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
       my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval);        my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval);
       $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);        $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
               if (-e $src) {          #new one                #if original gif/jpg file exist do following:
                 if (-e $src) {          
                     #defines the default size of image
   my $image = Image::Magick->new;    my $image = Image::Magick->new;
   my $current_figure = $image->Read($src);    my $current_figure = $image->Read($src);
   $width_param = $image->Get('width') * $scaling;;    $width_param = $image->Get('width') * $scaling;;
   $height_param = $image->Get('height') * $scaling;;    $height_param = $image->Get('height') * $scaling;;
   undef $image;    undef $image;
   my $epssrc = $src;  
   $epssrc =~ s/(\.gif|\.jpg)$/\.eps/i;  
   if (not -e $epssrc) {  
       my $localfile = $epssrc;  
       $localfile =~ s/.*(\/res)/$1/;  
       my $file;  
       my $path;  
       if ($localfile =~ m!(.*)/([^/]*)$!) {  
   $file = $2;  
   $path = $1.'/';   
       }  
       my $signal_eps = 0;  
       my @content_directory = &Apache::lonnet::dirlist($path);  
       for (my $iy=0;$iy<=$#content_directory;$iy++) {  
   my @tempo_array = split(/&/,$content_directory[$iy]);  
   $content_directory[$iy] = $tempo_array[0];  
   if ($file eq $tempo_array[0]) {  
       $signal_eps = 1;  
       last;  
   }  
       }  
       if ($signal_eps) {  
   my $eps_file = &Apache::lonnet::getfile($localfile);  
       } else {  
   $localfile = $src;  
   $localfile =~ s/.*(\/res)/$1/;  
   my $as = &Apache::lonnet::getfile($src);        
       }  
   }  
   my $file;  
   my $path;  
   if ($src =~ m!(.*)/([^/]*)$!) {  
       $file = $2;   
       $path = $1.' /';   
   }   
   my $newsrc = $src;  
   $newsrc =~ s/(\.gif|\.jpg)$/\.eps/i;  
   $file=~s/(\.gif|\.jpg)$/\.eps/i;  
   #do we have any specified size of the picture?    #do we have any specified size of the picture?
   my $TeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval);     my $TeXwidth = &Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval); 
   my $TeXheight = &Apache::lonxml::get_param('TeXheight',$parstack,$safeeval);     my $TeXheight = &Apache::lonxml::get_param('TeXheight',$parstack,$safeeval); 
Line 1594  EDITBUTTON Line 1576  EDITBUTTON
   } elsif ($width ne '') {    } elsif ($width ne '') {
       $width_param = $width*$scaling;              $width_param = $width*$scaling;      
   }    }
     my $file;
     my $path;
     if ($src =~ m!(.*)/([^/]*)$!) {
         $file = $2; 
         $path = $1.'/'; 
     } 
     my $newsrc = $src;
     $newsrc =~ s/(\.gif|\.jpg)$/\.eps/i;
     $file=~s/(\.gif|\.jpg)$/\.eps/i;
   #where can we find the picture?    #where can we find the picture?
   if (-e $newsrc) {    if (-e $newsrc) {
                         #eps counterpart for image exist 
       if ($path) {        if ($path) {
   $currentstring .= '\noindent\graphicspath{{'.$path.'}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} ';    $currentstring .= '\noindent\graphicspath{{'.$path.'}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} ';
       }        }
   } else {    } else {
       my $temp_file;                        #there is no eps counterpart for image - check for ps one
       my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat";        $newsrc =~ s/\.eps$/\.ps/;
       $temp_file = Apache::File->new('>>'.$filename);         if (-e $newsrc) {
       print $temp_file "$src\n";    #ps counterpart for image exist 
       $currentstring .= '\graphicspath{{/home/httpd/prtspool/}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} ';    $file =~ s/\.eps$/\.ps/;
     if ($path) {
         $currentstring .= '\noindent\graphicspath{{'.$path.'}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} ';
     }
         } else {
     #there aren't eps or ps - so create eps 
     my $temp_file;
     my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout.dat";
     $temp_file = Apache::File->new('>>'.$filename); 
     print $temp_file "$src\n";
     $currentstring .= '\graphicspath{{/home/httpd/prtspool/}}\fbox{\includegraphics[width='.$width_param.' mm]{'.$file.'}} ';
         }
   }    }
       } else {        } else {
     #original image file doesn't exist so check the alt attribute
   my $alt = &Apache::lonxml::get_param('alt',$parstack,$safeeval);    my $alt = &Apache::lonxml::get_param('alt',$parstack,$safeeval);
                   if ($alt) {                    if ($alt) {
       $currentstring .= ' '.$alt.' ';        $currentstring .= ' '.$alt.' ';
   } else {    } else {
                       $currentstring .= ' THE ORIGINAL PROBLEM CONTAINS EMPTY IMG TAG WITHOUT IMAGE ';                    #there are no image and alt attribute
                         $currentstring .= ' THE ORIGINAL PROBLEM CONTAINS EMPTY IMG TAG WITHOUT IMAGE AND ALT ATTRIBUTE ';
   }    }
       }        }
     }      }

Removed from v.1.82  
changed lines
  Added in v.1.86


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>