Diff for /loncom/homework/structuretags.pm between versions 1.497.2.5 and 1.497.2.6

version 1.497.2.5, 2011/12/26 13:45:10 version 1.497.2.6, 2011/12/27 19:48:31
Line 61  use Apache::lonlocal; Line 61  use Apache::lonlocal;
 use Apache::lonxml;  use Apache::lonxml;
 use Apache::londefdef;  use Apache::londefdef;
 use Apache::lonenc();  use Apache::lonenc();
   use Apache::loncommon();
 use Time::HiRes qw( gettimeofday tv_interval );  use Time::HiRes qw( gettimeofday tv_interval );
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use LONCAPA;  use LONCAPA;
Line 110  sub select_hyphenation { Line 111  sub select_hyphenation {
     }      }
 }  }
 ##  ##
   # Selects hyphenation based on the current problem metadata.
   # This requires that
   # - There is a language metadata item set for the problem.
   # - The language has a latex/babel hyphenation.
   #
   # @note: Uses &Apache::lonxml::request to locate the Uri associated with
   #        this problem.
   # @return string (possibly empty).
   # @retval If not empty an appropriate \selectlanguage{} directive.
   #
   sub select_metadata_hyphenation {
       my $uri      = $Apache::lonxml::request->uri;
       my $language = &Apache::lonnet::metadata($uri, 'language'); 
       my $latex_language = &Apache::loncommon::latexhyphenation($language);
       if ($latex_language) {
    return '\selectlanguage{'.$latex_language."}\n";
       }
       return ''; # no latex hyphenation or no lang metadata.
   }
   
   
   ##
 #  Clears the set of languages required by the document being rendered.  #  Clears the set of languages required by the document being rendered.
 #  #
 sub clear_required_languages {  sub clear_required_languages {
Line 1286  sub start_problem { Line 1309  sub start_problem {
             }              }
  } elsif ($target eq 'tex') {   } elsif ($target eq 'tex') {
     $result .= 'INSERTTEXFRONTMATTERHERE';      $result .= 'INSERTTEXFRONTMATTERHERE';
       $result .= &select_metadata_hyphenation();
       
   
  }   }
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
Line 1799  sub end_languageblock { Line 1824  sub end_languageblock {
  $result = &select_hyphenation($which);   $result = &select_hyphenation($which);
     }      }
     $result .= $available_texts{$which};      $result .= $available_texts{$which};
       $result .= &select_metadata_hyphenation(); # Restore original language.
  }   }
  undef(%available_texts);   undef(%available_texts);
  &Apache::lonxml::deregister('Apache::structuretags',('lang'));   &Apache::lonxml::deregister('Apache::structuretags',('lang'));

Removed from v.1.497.2.5  
changed lines
  Added in v.1.497.2.6


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