Diff for /loncom/xml/londefdef.pm between versions 1.209 and 1.221

version 1.209, 2004/04/15 17:37:04 version 1.221, 2004/06/08 14:13:21
Line 156  sub start_html { Line 156  sub start_html {
  @Apache::londefdef::table = ();   @Apache::londefdef::table = ();
  $currentstring .= '\documentclass[letterpaper]{article}';   $currentstring .= '\documentclass[letterpaper]{article}';
  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}$}'.
                            \usepackage{longtable}                            '\usepackage{longtable}'.
                            \usepackage{textcomp}                            '\usepackage{textcomp}'.
                            \usepackage{makeidx}                            '\usepackage{makeidx}'.
                            \usepackage[dvips]{graphicx}                            '\usepackage[dvips]{graphicx}'.
                            \usepackage{epsfig}\usepackage{calc}                            '\usepackage{epsfig}'.
 \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}}                            '\usepackage{calc}'.
 \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}}';                            '\usepackage{amsmath}'.
                             '\usepackage{amssymb}'.
                             '\usepackage{amsfonts}'.
                             '\usepackage{amsthm}'.
                             '\usepackage{amscd}'.
                             '\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 633  sub start_h1 { Line 639  sub start_h1 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=lc(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1));   my $align=lc(&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1));
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 656  sub end_h1 { Line 662  sub end_h1 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 682  sub start_h2 { Line 688  sub start_h2 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 702  sub end_h2 { Line 708  sub end_h2 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 725  sub start_h3 { Line 731  sub start_h3 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 745  sub end_h3 { Line 751  sub end_h3 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 768  sub start_h4 { Line 774  sub start_h4 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 788  sub end_h4 { Line 794  sub end_h4 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 811  sub start_h5 { Line 817  sub start_h5 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 831  sub end_h5 { Line 837  sub end_h5 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 854  sub start_h6 { Line 860  sub start_h6 {
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $pre;   my $pre;
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $pre='\begin{center}';      $pre='\begin{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $pre='\rlap{';      $pre='\rlap{';
Line 874  sub end_h6 { Line 880  sub end_h6 {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[2];   $currentstring .= $token->[2];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  my $post;   my $post='\vskip 0 mm ';
  my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);   my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1);
  if (($align eq 'center') || (not defined $align)) {   if ($align eq 'center') {
     $post='\end{center}';      $post='\end{center}';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $post='} \hfill'.'\vskip 0 mm ';      $post='} \hfill'.'\vskip 0 mm ';
Line 1110  sub start_p { Line 1116  sub start_p {
     $currentstring='\makebox['.$ENV{'form.textwidth'}.']{\hfill\llap{';      $currentstring='\makebox['.$ENV{'form.textwidth'}.']{\hfill\llap{';
  } elsif ($align eq 'left') {   } elsif ($align eq 'left') {
     $currentstring='\noindent\makebox['.$ENV{'form.textwidth'}.']{\rlap{';      $currentstring='\noindent\makebox['.$ENV{'form.textwidth'}.']{\rlap{';
  }   } else {
               $currentstring='\par ';
           }
  my $signal=1;#<p> does not work inside <b>...</b>    my $signal=1;#<p> does not work inside <b>...</b> 
  foreach my $tag (@$tagstack) {if (lc($tag) eq 'b') {$signal=0;}   foreach my $tag (@$tagstack) {if (lc($tag) eq 'b') {$signal=0;}
  if (!$signal) {$currentstring = '';}   if (!$signal) {$currentstring = '';}
Line 1146  sub start_br { Line 1154  sub start_br {
     if ($target eq 'web') {      if ($target eq 'web') {
  $currentstring .= $token->[4];   $currentstring .= $token->[4];
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  if ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') {   if (($$tagstack[-2] eq 'b') || ($$tagstack[-2] eq 'strong') ||
     $currentstring .= '\vskip 0.2 mm ';              ($$tagstack[-2] eq 'ol') || ($$tagstack[-2] eq 'ul')) {
       $currentstring .= ' \vskip 0 mm ';
    } elsif ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') {
       $currentstring .= '\strut \\\\ \strut ';
  }   }
     }      }
     return $currentstring;      return $currentstring;
Line 1526  sub start_ul { Line 1537  sub start_ul {
     $currentstring .= ' \renewcommand{\labelitemi}{$\bullet$}      $currentstring .= ' \renewcommand{\labelitemi}{$\bullet$}
                                 \renewcommand{\labelitemii}{$\bullet$}                                   \renewcommand{\labelitemii}{$\bullet$} 
                                 \renewcommand{\labelitemiii}{$\bullet$}                                  \renewcommand{\labelitemiii}{$\bullet$}
                                 \renewcommand{\labelitemiv}{$\bullet$}';                                  \renewcommand{\labelitemiv}{$\bullet$}\strut ';
  } elsif ($TeXtype eq 'circle') {   } elsif ($TeXtype eq 'circle') {
     $currentstring .= ' \renewcommand{\labelitemi}{$\circ$}      $currentstring .= ' \renewcommand{\labelitemi}{$\circ$}
                                 \renewcommand{\labelitemii}{$\circ$}                                   \renewcommand{\labelitemii}{$\circ$} 
                                 \renewcommand{\labelitemiii}{$\circ$}                                  \renewcommand{\labelitemiii}{$\circ$}
                                 \renewcommand{\labelitemiv}{$\circ$}';                                  \renewcommand{\labelitemiv}{$\circ$}\strut ';
  } elsif ($TeXtype eq 'square') {   } elsif ($TeXtype eq 'square') {
     $currentstring .= ' \renewcommand{\labelitemi}{$\diamond$}      $currentstring .= ' \renewcommand{\labelitemi}{$\diamond$}
                                 \renewcommand{\labelitemii}{$\diamond$}                                   \renewcommand{\labelitemii}{$\diamond$} 
                                 \renewcommand{\labelitemiii}{$\diamond$}                                  \renewcommand{\labelitemiii}{$\diamond$}
                                 \renewcommand{\labelitemiv}{$\diamond$}';                                  \renewcommand{\labelitemiv}{$\diamond$}\strut ';
  }   }
  $currentstring .= '\begin{itemize}';     $currentstring .= '\begin{itemize}';  
     }       } 
Line 1552  sub end_ul { Line 1563  sub end_ul {
  $currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}   $currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}
                                 \renewcommand{\labelitemii}{$\bullet$}                                   \renewcommand{\labelitemii}{$\bullet$} 
                                 \renewcommand{\labelitemiii}{$\bullet$}                                  \renewcommand{\labelitemiii}{$\bullet$}
                                 \renewcommand{\labelitemiv}{$\bullet$}';                                    \renewcommand{\labelitemiv}{$\bullet$}\strut ';  
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1615  sub start_ol { Line 1626  sub start_ol {
     $currentstring .= ' \renewcommand{\labelenumi}{\arabic{enumi}.}      $currentstring .= ' \renewcommand{\labelenumi}{\arabic{enumi}.}
                                 \renewcommand{\labelenumii}{\arabic{enumii}.}                                   \renewcommand{\labelenumii}{\arabic{enumii}.} 
                                 \renewcommand{\labelenumiii}{\arabic{enumiii}.}                                  \renewcommand{\labelenumiii}{\arabic{enumiii}.}
                                 \renewcommand{\labelenumiv}{\arabic{enumiv}.}';                                  \renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';
  } elsif ($type eq 'A') {   } elsif ($type eq 'A') {
     $currentstring .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}      $currentstring .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}
                                 \renewcommand{\labelenumii}{\Alph{enumii}.}                                   \renewcommand{\labelenumii}{\Alph{enumii}.} 
                                 \renewcommand{\labelenumiii}{\Alph{enumiii}.}                                  \renewcommand{\labelenumiii}{\Alph{enumiii}.}
                                 \renewcommand{\labelenumiv}{\Alph{enumiv}.}';                                  \renewcommand{\labelenumiv}{\Alph{enumiv}.}\strut ';
  } elsif ($type eq 'a') {   } elsif ($type eq 'a') {
     $currentstring .= ' \renewcommand{\labelenumi}{\alph{enumi}.}      $currentstring .= ' \renewcommand{\labelenumi}{\alph{enumi}.}
                                 \renewcommand{\labelenumii}{\alph{enumii}.}                                  \renewcommand{\labelenumii}{\alph{enumii}.}
                                 \renewcommand{\labelenumiii}{\alph{enumiii}.}                                  \renewcommand{\labelenumiii}{\alph{enumiii}.}
                                 \renewcommand{\labelenumiv}{\alph{enumiv}.} ';                                  \renewcommand{\labelenumiv}{\alph{enumiv}.} \strut ';
  } elsif ($type eq 'i') {   } elsif ($type eq 'i') {
     $currentstring .= ' \renewcommand{\labelenumi}{\roman{enumi}.}      $currentstring .= ' \renewcommand{\labelenumi}{\roman{enumi}.}
                                 \renewcommand{\labelenumii}{\roman{enumii}.}                                  \renewcommand{\labelenumii}{\roman{enumii}.}
                                 \renewcommand{\labelenumiii}{\roman{enumiii}.}                                  \renewcommand{\labelenumiii}{\roman{enumiii}.}
                                 \renewcommand{\labelenumiv}{\roman{enumiv}.} ';                                  \renewcommand{\labelenumiv}{\roman{enumiv}.}\strut  ';
  } elsif ($type eq 'I') {   } elsif ($type eq 'I') {
     $currentstring .= ' \renewcommand{\labelenumi}{\Roman{enumi}.}      $currentstring .= ' \renewcommand{\labelenumi}{\Roman{enumi}.}
                                 \renewcommand{\labelenumii}{\Roman{enumii}.}                                  \renewcommand{\labelenumii}{\Roman{enumii}.}
                                 \renewcommand{\labelenumiii}{\Roman{enumiii}.}                                  \renewcommand{\labelenumiii}{\Roman{enumiii}.}
                                 \renewcommand{\labelenumiv}{\Roman{enumiv}.} ';                                  \renewcommand{\labelenumiv}{\Roman{enumiv}.} \strut ';
  }   }
  $currentstring .= '\begin{enumerate}';     $currentstring .= '\begin{enumerate}';  
     }       } 
Line 1651  sub end_ol { Line 1662  sub end_ol {
  $currentstring = '\end{enumerate} \renewcommand{\labelenumi}{\arabic{enumi}.}   $currentstring = '\end{enumerate} \renewcommand{\labelenumi}{\arabic{enumi}.}
                                           \renewcommand{\labelenumii}{\arabic{enumii}.}                                            \renewcommand{\labelenumii}{\arabic{enumii}.}
                                           \renewcommand{\labelenumiii}{\arabic{enumiii}.}                                            \renewcommand{\labelenumiii}{\arabic{enumiii}.}
                                           \renewcommand{\labelenumiv}{\arabic{enumiv}.}';                                              \renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';  
     }       } 
     return $currentstring;      return $currentstring;
 }  }
Line 1824  sub start_table { Line 1835  sub start_table {
     $Apache::londefdef::table[-1]{'vvinc'} = '';      $Apache::londefdef::table[-1]{'vvinc'} = '';
  }   }
  if ($#Apache::londefdef::table==0) {   if ($#Apache::londefdef::table==0) {
     $Apache::londefdef::table[-1]{'output'}='\newline\setlength{\tabcolsep}{1 mm}';      $Apache::londefdef::table[-1]{'output'}='\strut\newline\strut\setlength{\tabcolsep}{1 mm}';
  }   }
  $Apache::londefdef::table[-1]{'output'}.=' \noindent \begin{tabular} ';   $Apache::londefdef::table[-1]{'output'}.=' \noindent \begin{tabular} ';
         $Apache::londefdef::table[-1]{'TeXlen'}=[];          $Apache::londefdef::table[-1]{'TeXlen'}=[];
Line 1904  sub end_table { Line 1915  sub end_table {
     $space_neeeded=$space_neeeded+$max_len[$jn];      $space_neeeded=$space_neeeded+$max_len[$jn];
  }   }
  if ($space_neeeded<=$available_space) {   if ($space_neeeded<=$available_space) {
 ##    &Apache::lonnet::logthis("I am in position 1: $space_neeeded <= $available_space");  
     for (my $jn=0;$jn<=$#max_len;$jn++) {      for (my $jn=0;$jn<=$#max_len;$jn++) {
  if ($fwidth[$jn]==0) {   if ($fwidth[$jn]==0) {
     $fwidth[$jn]=$max_len[$jn];      $fwidth[$jn]=$max_len[$jn];
Line 1917  sub end_table { Line 1927  sub end_table {
  $space_neeeded+=$min_len[$jn];   $space_neeeded+=$min_len[$jn];
     }      }
     if ($space_neeeded>$available_space) {      if ($space_neeeded>$available_space) {
 ## &Apache::lonnet::logthis("I am in position 2");  
  $WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} ';   $WARNING=' \textbf{NOT ENOUGH SPACE FOR TABLE} ';
  for (my $jn=0;$jn<=$#max_len;$jn++) {   for (my $jn=0;$jn<=$#max_len;$jn++) {
     if ($fwidth[$jn]==0) {      if ($fwidth[$jn]==0) {
Line 1926  sub end_table { Line 1935  sub end_table {
  }   }
     } else {      } else {
       #step 3. adjustment over minimal + corrections        #step 3. adjustment over minimal + corrections
 ## &Apache::lonnet::logthis("I am in position 3");  
  my $enlarge_coef=$available_space/$space_neeeded;   my $enlarge_coef=$available_space/$space_neeeded;
  my $acsessive=0;   my $acsessive=0;
  for (my $jn=0;$jn<=$#min_len;$jn++) {   for (my $jn=0;$jn<=$#min_len;$jn++) {
Line 2009  sub end_table { Line 2017  sub end_table {
     }      }
     $output.=' \\\\ '.$Apache::londefdef::table[-1]{'hinc'}.' ';      $output.=' \\\\ '.$Apache::londefdef::table[-1]{'hinc'}.' ';
  }   }
  $Apache::londefdef::table[-1]{'output'} .= $header_of_table.$Apache::londefdef::table[-1]{'hinc'}.$output.'\end{tabular}\vskip 0 mm ';   $Apache::londefdef::table[-1]{'output'} .= $header_of_table.$Apache::londefdef::table[-1]{'hinc'}.$output.'\end{tabular}\strut\newline\strut ';
  if ($#Apache::londefdef::table > 0) {       if ($#Apache::londefdef::table > 0) {    
     my $inmemory = $Apache::londefdef::table[-1]{'output'};      my $inmemory = $Apache::londefdef::table[-1]{'output'};
     pop @Apache::londefdef::table;      pop @Apache::londefdef::table;
Line 2271  sub start_img { Line 2279  sub start_img {
  }   }
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $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 2333  sub start_img { Line 2347  sub start_img {
  if ($height) { $currentstring.=' height="'.$height.'" '; }   if ($height) { $currentstring.=' height="'.$height.'" '; }
  $currentstring .= ' />';   $currentstring .= ' />';
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args($token,$parstack,   my ($osrc,$owidth,$oheight)=
      $safeeval,'src','alt',      ($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});
      'TeXwidth','TeXheight',   my $ctag=&Apache::edit::get_new_args($token,$parstack,
      'width','height');       $safeeval,'src','alt',
  $src=$token->[2]{'src'};       'TeXwidth','TeXheight',
  if (!$token->[2]{'width'} && !$token->[2]{'height'}) {       'width','height');
     $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src);   my ($nsrc,$nwidth,$nheight)=
     &image_replication($src);      ($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});
     if (-e $src) {   my $loc=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$nsrc);
  my $image = Image::Magick->new;   &image_replication($loc);
  $image->Read($src);   my ($iwidth,$iheight);
  my ($width, $height) = ($image->Get('width'),   if (-e $loc) {
  $image->Get('height'));      my $image = Image::Magick->new;
  if ($width && $height) {      $image->Read($loc);
     $token->[2]{'width'} =$width;      ($iwidth, $iheight) = ($image->Get('width'),
     $token->[2]{'height'}=$height;     $image->Get('height'));
     $constructtag=1;   }
    if ($osrc ne $nsrc || (!$nwidth && !$nheight)) {
       # changed image or no size specified,
               # if they didn't explicitly change the 
               # width or height use the ones from the image
       if ($iwidth && $iheight) {
    if ($owidth == $nwidth || (!$nwidth && !$nheight)) {
       $token->[2]{'width'} = $iwidth;$ctag=1;
    }
    if ($oheight == $nheight || (!$nwidth && !$nheight)) {
       $token->[2]{'height'}=$iheight;$ctag=1;
  }   }
     }      }
  }   }
  if ($constructtag) {$currentstring=&Apache::edit::rebuild_tag($token);}   my ($cwidth,$cheight)=($token->[2]{'width'},$token->[2]{'height'});
    # if we don't have a width or height
    if ($iwidth && $cwidth && !$cheight) {
       $token->[2]{'height'}=int(($cwidth/$iwidth)*$iheight);$ctag=1;
    }
    if ($iheight && $cheight && !$cwidth) {
       $token->[2]{'width'}=int(($cheight/$iheight)*$iwidth);$ctag=1;
    }
    if ($ctag) {$currentstring=&Apache::edit::rebuild_tag($token);}
     }      }
     return $currentstring;      return $currentstring;
 }  }
Line 3522  sub eps_generation { Line 3554  sub eps_generation {
     $newsrc=~s/\/home\/([^\/]*)\/public_html\//\/$1\//;      $newsrc=~s/\/home\/([^\/]*)\/public_html\//\/$1\//;
     $newsrc=~s/\/\.\//\//;      $newsrc=~s/\/\.\//\//;
     $newsrc=~s/\/([^\/]+)\.(ps|eps)/\//;      $newsrc=~s/\/([^\/]+)\.(ps|eps)/\//;
       if ($newsrc=~/\/home\/httpd\/lonUsers\//) {
    $newsrc=~s/\/home\/httpd\/lonUsers//;
    $newsrc=~s/\/([^\/]+)\/(\w)\/(\w)\/(\w)\//\/$1\//;
       }
     return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';      return ' \graphicspath{{/home/httpd/prtspool'.$newsrc.'}}\includegraphics[width='.$width_param.' mm]{'.$file.'} ';
 }  }
   

Removed from v.1.209  
changed lines
  Added in v.1.221


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