Diff for /loncom/xml/londefdef.pm between versions 1.159 and 1.164

version 1.159, 2003/08/07 20:12:40 version 1.164, 2003/08/22 16:29:15
Line 51  use Image::Magick; Line 51  use Image::Magick;
 use Apache::lonmenu();  use Apache::lonmenu();
 use Apache::lonmeta();  use Apache::lonmeta();
   
   $Apache::londefdef::TD_redirection=0;
   
 BEGIN {  BEGIN {
   
     &Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','accessrule','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','tthoption','u','ul','var','wbr','hideweboutput'));      &Apache::lonxml::register('Apache::londefdef',('a','abbr','acronym','accessrule','address','allow','applet','area','b','base','basefont','bgo','bgsound','big','blink','blockquote','blankspace','body','br','button','caption','center','cite','code','col','colgroup','dd','del','dfn','dir','div','dl','dt','em','embed','externallink','fieldset','font','form','frame','frameset','h1','h2','h3','h4','h5','h6','head','hr','html','i','iframe','img','input','ins','insert','isindex','kbd','keygen','label','layer','legend','li','link','m','map','marquee','menu','meta','multicol','nobr','noembed','noframes','nolayer','noscript','object','ol','optgroup','option','output','p','param','pre','q','s','samp','select','server','small','spacer','span','strike','strong','sub','sup','table','tbody','td','textarea','tfoot','th','thead','title','tr','tt','tthoption','u','ul','var','wbr','hideweboutput'));
Line 162  sub start_html { Line 164  sub start_html {
                            \renewcommand{\deg}{$^{\circ}$}                             \renewcommand{\deg}{$^{\circ}$}
                            \usepackage{longtable}                             \usepackage{longtable}
                            \usepackage{textcomp}                             \usepackage{textcomp}
                              \usepackage{makeidx}
                            \usepackage[dvips]{graphicx}                             \usepackage[dvips]{graphicx}
                            \usepackage{epsfig}\usepackage{calc}                             \usepackage{epsfig}\usepackage{calc}
 \newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}';  \newenvironment{choicelist}{\begin{list}{}{\setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.05in}\setlength{\itemsep}{0.022in}\setlength{\parsep}{0in}\setlength{\belowdisplayskip}{0.04in}\setlength{\abovedisplayskip}{0.05in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.04in}}}{\end{list}}
   \renewenvironment{theindex}{\begin{list}{}{{\vskip 1mm \noindent \large\textbf{Index}} \newline \setlength{\rightmargin}{0in}\setlength{\leftmargin}{0.13in}\setlength{\topsep}{0.01in}\setlength{\itemsep}{0.1in}\setlength{\parsep}{-0.02in}\setlength{\belowdisplayskip}{0.01in}\setlength{\abovedisplayskip}{0.01in}\setlength{\abovedisplayshortskip}{-0.04in}\setlength{\belowdisplayshortskip}{0.01in}}}{\end{list}}';
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 403  sub end_meta { Line 407  sub end_meta {
     $currentstring = $token->[4];      $currentstring = $token->[4];
  }   }
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $currentstring=&Apache::lonxml::endredirection();   if ((not defined $content) && (not defined $name)) {
  $currentstring='';      &Apache::lonxml::startredirection();
    }
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 1400  sub start_a { Line 1405  sub start_a {
  $currentstring .= $token->[4];   $currentstring .= $token->[4];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $a=&Apache::lonxml::get_param('href',$parstack,$safeeval,undef,1);   my $a=&Apache::lonxml::get_param('href',$parstack,$safeeval,undef,1);
  $a=~s/([^\\])%/$1\\\%/g;   my $b=&Apache::lonxml::get_param('name',$parstack,$safeeval,undef,1);
  $currentstring .= '\ref{'.$a.'}';   if ($a=~/\S/) {
       $a=~s/([^\\])%/$1\\\%/g;
       $currentstring .= '\ref{URI: '.$a.'}';
    } elsif ($b=~/\S/) {
       $currentstring .= '\ref{Anchor: '.$b.'}';
    } else {
       $currentstring.='';
    }
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 1840  sub start_tr { Line 1852  sub start_tr {
 }  }
                   
 sub end_tr {  sub end_tr {
     my ($target,$token) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';      my $currentstring = '';
     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::TD_redirection) {
       &end_td_tex($parstack,$parser,$safeeval);    
    }
  push @{ $Apache::londefdef::table[-1]{'TeXlengthrow'} },$Apache::londefdef::table[-1]{'TeXlength'};   push @{ $Apache::londefdef::table[-1]{'TeXlengthrow'} },$Apache::londefdef::table[-1]{'TeXlength'};
  push @{ $Apache::londefdef::table[-1]{'lengthrow'} },$Apache::londefdef::table[-1]{'length'};   push @{ $Apache::londefdef::table[-1]{'lengthrow'} },$Apache::londefdef::table[-1]{'length'};
     }      }
Line 1858  sub start_td { Line 1873  sub start_td {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
    $Apache::londefdef::TD_redirection = 1;
  &tag_check('tr','td',$tagstack,$parstack,$parser,$safeeval);   &tag_check('tr','td',$tagstack,$parstack,$parser,$safeeval);
 # my @ar=@$parstack;   
 # for (my $i=$#ar-1;$i>=0;$i--) {  
 #    if (lc($$tagstack[$i]) eq 'tr') {  
 # &start_td_tex($parstack,$parser,$safeeval);  
 # last;  
 #    } elsif (lc($$tagstack[$i]) eq 'td') {  
 #                splice @ar, $i+1;  
 # &end_td_tex(\@ar,$parser,$safeeval);  
 # &start_td_tex($parstack,$parser,$safeeval);  
 # last;  
 #    }  
 # }  
     }       } 
     return $currentstring;      return $currentstring;
 }     }   
           
 sub tag_check {  sub tag_check {
     my ($good_tag,$bad_tag,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($good_tag,$bad_tag,$tagstack,$parstack,$parser,$safeeval) = @_;
  my @ar=@$parstack;       my @ar=@$parstack; 
  for (my $i=$#ar-1;$i>=0;$i--) {      for (my $i=$#ar-1;$i>=0;$i--) {
     if (lc($$tagstack[$i]) eq $good_tag) {   if (lc($$tagstack[$i]) eq $good_tag) {
  &start_td_tex($parstack,$parser,$safeeval);      &start_td_tex($parstack,$parser,$safeeval);
  last;      last;
     } elsif (lc($$tagstack[$i]) eq $bad_tag) {   } elsif (lc($$tagstack[$i]) eq $bad_tag) {
                 splice @ar, $i+1;      splice @ar, $i+1;
  &end_td_tex(\@ar,$parser,$safeeval);      &end_td_tex(\@ar,$parser,$safeeval);
  &start_td_tex($parstack,$parser,$safeeval);      &start_td_tex($parstack,$parser,$safeeval);
  last;      last;
     }  
  }   }
       }
     return '';      return '';
 }  }
     
Line 1941  sub end_td { Line 1945  sub end_td {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[2];        $currentstring = $token->[2];     
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
           $Apache::londefdef::TD_redirection =0;
  &end_td_tex($parstack,$parser,$safeeval);   &end_td_tex($parstack,$parser,$safeeval);
     }      }
     return $currentstring;      return $currentstring;
Line 2291  sub end_frameset { Line 2296  sub end_frameset {
     return $currentstring;      return $currentstring;
 }  }
   
   #-- <xmp>
   sub start_xmp {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
       my $currentstring = '';
       if ($target eq 'web') {
    $currentstring .= $token->[4];
       } elsif ($target eq 'tex') {
    $currentstring .= '\begin{verbatim}';
       } 
       return $currentstring;
   }
   
   sub end_xmp {
       my ($target,$token) = @_;
       my $currentstring = '';
       if ($target eq 'web') {
    $currentstring .= $token->[2];
       } elsif ($target eq 'tex') {
    $currentstring .= '\end{verbatim}';
       }
       return $currentstring;
   }
   
 #-- <pre>  #-- <pre>
 sub start_pre {  sub start_pre {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
Line 2437  sub start_base { Line 2465  sub start_base {
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     }       }
     return $currentstring;      return $currentstring;
 }  }
   
Line 3121  sub start_var { Line 3149  sub start_var {
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[4];        $currentstring = $token->[4];     
     }       } elsif ($target eq 'tex') {
    $currentstring = '\textit{'; 
       }
     return $currentstring;      return $currentstring;
 }  }
   
Line 3129  sub end_var { Line 3159  sub end_var {
     my ($target,$token) = @_;      my ($target,$token) = @_;
     my $currentstring = '';      my $currentstring = '';
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring = $token->[2];       $currentstring = $token->[2];
       } elsif ($target eq 'tex') {
    $currentstring = '}'; 
     }       } 
     return $currentstring;      return $currentstring;
 }  }
   
 #-- <wbr> tag  #-- <wbr> tag (end tag forbidden)
 sub start_wbr {  sub start_wbr {
     my ($target,$token) = @_;      my ($target,$token) = @_;
     my $currentstring = '';      my $currentstring = '';
Line 3153  sub end_wbr { Line 3185  sub end_wbr {
     return $currentstring;      return $currentstring;
 }  }
   
   
 #-- <hideweboutput> tag  #-- <hideweboutput> tag
 sub start_hideweboutput {  sub start_hideweboutput {
     my ($target,$token) = @_;      my ($target,$token) = @_;

Removed from v.1.159  
changed lines
  Added in v.1.164


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