Diff for /loncom/xml/londefdef.pm between versions 1.231.2.2 and 1.244

version 1.231.2.2, 2004/08/25 20:16:44 version 1.244, 2004/11/13 08:56:53
Line 63  sub initialize_londefdef { Line 63  sub initialize_londefdef {
     $Apache::londefdef::TD_redirection=0;      $Apache::londefdef::TD_redirection=0;
     @Apache::londefdef::table = ();      @Apache::londefdef::table = ();
     $Apache::londefdef::select=0;      $Apache::londefdef::select=0;
     @Apache::londefdef::description=();      undef(@Apache::londefdef::description);
     $Apache::londefdef::DD_redirection=0;      @Apache::londefdef::DD=(0);
     $Apache::londefdef::DT_redirection=0;      @Apache::londefdef::DT=(0);
       @Apache::londefdef::seenDT=(0);
     $Apache::londefdef::list_index=0;      $Apache::londefdef::list_index=0;
 }  }
   
Line 151  sub start_html { Line 152  sub start_html {
     my $options=$ENV{'course.'.$ENV{'request.course.id'}.'.tthoptions'};      my $options=$ENV{'course.'.$ENV{'request.course.id'}.'.tthoptions'};
     &Apache::lontexconvert::init_tth();      &Apache::lontexconvert::init_tth();
     if ($target eq 'web' || $target eq 'edit') {      if ($target eq 'web' || $target eq 'edit') {
  $currentstring = &Apache::lonxml::xmlbegin().   $currentstring = &Apache::lonxml::xmlbegin();
     &Apache::lonxml::fontsettings();       
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  @Apache::londefdef::table = ();   @Apache::londefdef::table = ();
  $currentstring .= '\documentclass[letterpaper]{article}';   $currentstring .= '\documentclass[letterpaper]{book}';
  if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';}    if ($ENV{'form.latex_type'}=~'batchmode') {$currentstring .='\batchmode';} 
  $currentstring .= '\newcommand{\keephidden}[1]{}'.   $currentstring .= '\newcommand{\keephidden}[1]{}'.
                           '\renewcommand{\deg}{$^{\circ}$}'.                            '\renewcommand{\deg}{$^{\circ}$}'.
Line 177  sub start_html { Line 177  sub start_html {
 }  }
   
 sub end_html {  sub end_html {
     my ($target,$token) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = &Apache::lonxml::xmlend();   $currentstring = &Apache::lonxml::xmlend($target,$parser);
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 190  sub start_head { Line 190  sub start_head {
     my ($target,$token) = @_;      my ($target,$token) = @_;
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4].&Apache::lonxml::fontsettings();
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 479  sub end_accessrule { Line 479  sub end_accessrule {
 sub start_body {  sub start_body {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';      my $currentstring = '';
   
     if ($target eq 'web') {      if ($target eq 'web') {
  if ($Apache::lonhomework::parsing_a_problem) {   if ($Apache::lonhomework::parsing_a_problem) {
     &Apache::lonxml::warning("<body> tag found inside of <problem> tag this can cause problems.");      &Apache::lonxml::warning("<body> tag found inside of <problem> tag this can cause problems.");
Line 1698  sub start_dl { Line 1699  sub start_dl {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring = '\begin{description}';   $currentstring = '\begin{description}';
  @Apache::londefdef::description=();   $Apache::londefdef::DL++;
  $Apache::londefdef::DD_redirection=0;   push(@Apache::londefdef::description,[]);
  $Apache::londefdef::DT_redirection=0;   $Apache::londefdef::DD[$Apache::londefdef::DL]=0;
    $Apache::londefdef::DT[$Apache::londefdef::DL]=0;
    $Apache::londefdef::seenDT[$Apache::londefdef::DL]=0;
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1711  sub end_dl { Line 1714  sub end_dl {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[2];        $currentstring = $token->[2];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  if ($Apache::londefdef::DT_redirection) {   if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
     my $data=&item_cleanup;   if ($Apache::londefdef::DD[-1]) { &end_dd(@_); }
     push @Apache::londefdef::description,'\item['.$data.']';   foreach my $element (@{$Apache::londefdef::description[-1]}) {
     $Apache::londefdef::DT_redirection=0;  
  } elsif ($Apache::londefdef::DD_redirection) {  
     $Apache::londefdef::description[-1].=&Apache::lonxml::endredirection();  
  }  
  foreach my $element (@Apache::londefdef::description) {  
     $currentstring.=' '.$element.' ';      $currentstring.=' '.$element.' ';
  }   }
  @Apache::londefdef::description=();   pop(@Apache::londefdef::description);
  $currentstring.='\end{description}';     $currentstring.='\end{description}';  
    delete($Apache::londefdef::DD[$Apache::londefdef::DL]);
    delete($Apache::londefdef::DT[$Apache::londefdef::DL]);
    delete($Apache::londefdef::seenDT[$Apache::londefdef::DL]);
    $Apache::londefdef::DL--;
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1734  sub start_dt { Line 1736  sub start_dt {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  if ($Apache::londefdef::DT_redirection) {   if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
     my $data=&item_cleanup;   if ($Apache::londefdef::DD[-1]) { &end_dd(@_); }
     push @Apache::londefdef::description,'\item['.$data.']';  
     $Apache::londefdef::DT_redirection=0;  
  } elsif ($Apache::londefdef::DD_redirection) {  
     $Apache::londefdef::description[-1].=&Apache::lonxml::endredirection();  
     $Apache::londefdef::DD_redirection=0;  
  }  
  &Apache::lonxml::startredirection();   &Apache::lonxml::startredirection();
  $Apache::londefdef::DT_redirection=1;   $Apache::londefdef::DT[-1]++;
    $Apache::londefdef::seenDT[-1]=1;
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1754  sub end_dt { Line 1751  sub end_dt {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[2];       $currentstring = $token->[2];    
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $data=&item_cleanup;   if ($Apache::londefdef::DT[-1]) {
  push @Apache::londefdef::description,'\item['.$data.']';      my $data=&item_cleanup();
  $Apache::londefdef::DT_redirection=0;      push(@{$Apache::londefdef::description[-1]},'\item['.$data.'] \strut \vskip 0mm');
       $Apache::londefdef::DT[-1]--;
    }
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1775  sub start_dd { Line 1774  sub start_dd {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  if ($Apache::londefdef::DT_redirection) {   if ($Apache::londefdef::DT[-1]) { &end_dt(@_); }
     my $data=&item_cleanup;   if ($Apache::londefdef::DD[-1]) { &end_dd(@_);}
     push @Apache::londefdef::description,'\item['.$data.']';   if (!$Apache::londefdef::seenDT[-1]) {
     $Apache::londefdef::DT_redirection=0;      push(@{$Apache::londefdef::description[-1]},'\item[\strut] \strut \vskip 0mm ');
  }   }
  $Apache::londefdef::DD_redirection=1;   push(@{$Apache::londefdef::description[-1]},'');
    $Apache::londefdef::description[-1]->[-1].=' \strut ';
    $Apache::londefdef::DD[-1]++;
  &Apache::lonxml::startredirection();   &Apache::lonxml::startredirection();
     }       } 
     return $currentstring;      return $currentstring;
Line 1792  sub end_dd { Line 1793  sub end_dd {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[2];       $currentstring = $token->[2];    
     }  elsif ($target eq 'tex') {      }  elsif ($target eq 'tex') {
  $Apache::londefdef::description[-1].=&Apache::lonxml::endredirection();   $Apache::londefdef::description[-1]->[-1].=
  $Apache::londefdef::DD_redirection=0;      &Apache::lonxml::endredirection().' \vskip 0mm ';
    $Apache::londefdef::DD[-1]--;
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 2434  sub start_img { Line 2436  sub start_img {
     $currentstring.='[IMAGE: '.$alttag.']';      $currentstring.='[IMAGE: '.$alttag.']';
  }   }
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
    my $oldSRC=$src;
           $oldSRC=~s/\.(gif|jpg|png)$/\.eps/;
  $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);   $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
         #if uploaded restore the path  
  if ($src=~/^\/uploaded\/([^\/]+)\/([^\/]+)\/simplepage\/([^\/]+)$/) {  
     $src=&Apache::loncommon::propath($1,$2).'/userfiles/simplepage/'.$3;  
  } elsif ($src=~/^\/uploaded\/([^\/]+)\/([^\/]+)\/aboutme\/([^\/]+)$/) {  
     $src=&Apache::loncommon::propath($1,$2).'/userfiles/aboutme/'.$3;  
  }  
  #if original gif/jpg/png file exist do following:   #if original gif/jpg/png file exist do following:
  if (-e $src) {   if (-e $src) {
     #what is the image size?      #what is the image size?
Line 2448  sub start_img { Line 2446  sub start_img {
             my ($file,$path)=&file_path($src);               my ($file,$path)=&file_path($src); 
     my $newsrc = $src;      my $newsrc = $src;
     $newsrc =~ s/\.(gif|jpg|png)$/.eps/i;      $newsrc =~ s/\.(gif|jpg|png)$/.eps/i;
       &Apache::lonnet::repcopy($oldSRC);
     $file=~s/\.(gif|jpg|png)$/.eps/i;      $file=~s/\.(gif|jpg|png)$/.eps/i;
     #where can we find the picture?      #where can we find the picture?
     if (-e $newsrc) {      if (-e $newsrc) {
Line 2493  sub start_img { Line 2492  sub start_img {
  $currentstring .=&Apache::edit::text_arg('height (pixel):','height',$token,5).'<br />';   $currentstring .=&Apache::edit::text_arg('height (pixel):','height',$token,5).'<br />';
  $currentstring .=&Apache::edit::text_arg('TeXwidth (mm):','TeXwidth',$token,5);   $currentstring .=&Apache::edit::text_arg('TeXwidth (mm):','TeXwidth',$token,5);
  $currentstring .=&Apache::edit::text_arg('TeXheight (mm):','TeXheight',$token,5);   $currentstring .=&Apache::edit::text_arg('TeXheight (mm):','TeXheight',$token,5);
    $currentstring .=&Apache::edit::select_arg('Alignment:','align',
      ['','bottom','middle','top','left','right'],$token,5);
  $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();   $currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
  my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval);   my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval);
  my $alt=&Apache::lonxml::get_param('alt',$parstack,$safeeval);   my $alt=&Apache::lonxml::get_param('alt',$parstack,$safeeval);
Line 2506  sub start_img { Line 2507  sub start_img {
  my ($osrc,$owidth,$oheight)=   my ($osrc,$owidth,$oheight)=
     ($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});      ($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});
  my $ctag=&Apache::edit::get_new_args($token,$parstack,   my $ctag=&Apache::edit::get_new_args($token,$parstack,
      $safeeval,'src','alt',       $safeeval,'src','alt','align',
      'TeXwidth','TeXheight',       'TeXwidth','TeXheight',
      'width','height');       'width','height');
  my ($nsrc,$nwidth,$nheight)=   my ($nsrc,$nwidth,$nheight)=
Line 2673  sub start_allow { Line 2674  sub start_allow {
     $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);      $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=      $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
  &Apache::lonnet::clutter($src);   &Apache::lonnet::clutter($src);
     &image_replication($src);      if ($target eq 'tex') { &image_replication($src); }
     my $result;      my $result;
     if ($target eq 'edit') {      if ($target eq 'edit') {
  $result .=&Apache::edit::tag_start($target,$token);   $result .=&Apache::edit::tag_start($target,$token);
Line 3714  sub eps_generation { Line 3715  sub eps_generation {
  $newsrc=~s/\/home\/httpd\/lonUsers//;   $newsrc=~s/\/home\/httpd\/lonUsers//;
  $newsrc=~s/\/([^\/]+)\/(\w)\/(\w)\/(\w)\//\/$1\//;   $newsrc=~s/\/([^\/]+)\/(\w)\/(\w)\/(\w)\//\/$1\//;
     }      }
     return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';      if ($newsrc=~/\/userfiles\//) {
    return ' \graphicspath{{'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
       } else {
    return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
       }
 }  }
   
 sub file_path {       sub file_path {     

Removed from v.1.231.2.2  
changed lines
  Added in v.1.244


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