Diff for /loncom/homework/outputtags.pm between versions 1.55 and 1.56

version 1.55, 2009/05/14 10:57:40 version 1.56, 2009/11/01 16:10:35
Line 39  BEGIN { Line 39  BEGIN {
     &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight','displaystudentphoto'));      &Apache::lonxml::register('Apache::outputtags',('displayduedate','displaytitle','displayweight','displaystudentphoto'));
 }  }
   
   ################################ utilities ###########################
   
   # 
   #  Does a simple substitution of a tab when the opening tag can
   #  be replaced by a fixed string.. and same for the closing tag.
   #  Parameters:
   #    $input   - String in in which to do the substitutions.
   #    $tag     - name of tag without the <>'s e.g. sub for <sub></sub>
   #    $opening - What to replace <$tag> with
   #    $closing - What to replace </$tag> with.
   #  Returns:
   #    Input string appropriately substituted.
   #
   sub substitute_tag {
       my ($input,
    $tag,
    $opening,
    $closing) = @_;
   
       $input =~ s/<$tag>/$opening/gi;
       $input =~ s/<\/$tag>/$closing/gi;
   
       return $input;
   }  
   
   #
   #  Substitutes the simple formatting tags in a string
   #  Parameters:
   #    $string - input string.
   #  Returns
   #    Result of string after simple substitutions
   #  Tags we handle are:
   #    <sub>, <sup> <em>
   #
   sub substitute_simple_tags_latex {
       my ($string)  = @_;
   
       # restore the <>'s:
   
       $string =~ s/\\ensuremath{<}/</g;
       $string =~ s/\\ensuremath{>}/>/g;
   
   
       # Substitute the tags:
   
       $string = &substitute_tag($string, "sub", '\ensuremath{_', '}');
       $string = &substitute_tag($string, 'sup', '\ensuremath{^', '}');
       $string = &substitute_tag($string, 'em', '\em{', '}');
   
   
       # Escape the remaining <>'s again:
   
       $string =~ s/</\\ensuremath{<}/g;
       $string =~ s/>/\\ensuremath{>}/g;
   
   
   
       return $string;
   }
   
   ################################ The parser ##########################
   
 sub initialize_outputtags {  sub initialize_outputtags {
     %Apache::outputtags::showonce=();      %Apache::outputtags::showonce=();
 }  }
   
   
   
 sub start_displayduedate {  sub start_displayduedate {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result;      my $result;
Line 152  sub start_displaytitle { Line 215  sub start_displaytitle {
  $result.=&Apache::edit::end_table();   $result.=&Apache::edit::end_table();
     } elsif ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {      } elsif ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') {
  $name=&Apache::lonxml::latex_special_symbols($name);   $name=&Apache::lonxml::latex_special_symbols($name);
    $name = &substitute_simple_tags_latex($name);
  if (lc($style) !~ 'plain') {    if (lc($style) !~ 'plain') { 
     $result='\vskip 0 mm\noindent\textbf{'.$name.'}\vskip 0 mm';      $result='\vskip 0 mm\noindent\textbf{'.$name.'}\vskip 0 mm';
  } else {   } else {

Removed from v.1.55  
changed lines
  Added in v.1.56


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