Diff for /loncom/homework/default_homework.lcpm between versions 1.74 and 1.75

version 1.74, 2004/03/16 19:47:47 version 1.75, 2004/03/19 22:02:03
Line 485  sub format { Line 485  sub format {
     return $result;      return $result;
 }  }
   
   sub chemparse {
       my ($reaction) = @_;
       my @tokens = split(/(\s\+|\->|<=>)/,$reaction);
       my $formula = '';
       foreach my $token (@tokens) {
    if ($token eq '->' ) {
       $formula .= '<m>\ensuremath{\rightarrow}</m> ';
       next;
    }
    if ($token eq '<=>') {
       if ($external::target eq 'web' &&
    &EXT('request.browser.unicode')) {
    $formula .= '&#8660; ';
       } else {
    $formula .= &web('<=> ','<m>\ensuremath{\rightleftharpoons}</m> ',
    '&lt;=$gt; ');
       }
       next;
    }
    $token =~ /^\s*(\d*)(.*)/;
    $formula .= $1 if ($1 > 1);  # stoichiometric coefficient
   
    my $molecule = $2;
    # subscripts
    $molecule =~ s|(?<=[a-zA-Z\[\s])(\d+)|<sub>$1</sub>|g;
    # superscripts
    $molecule =~ s|\^(\d*[+\-]*)|<sup>$1</sup>|g;
    # strip whitespace
    $molecule =~ s/\s*//g;
    # forced space
    $molecule =~ s/_/ /g;
    $formula .= $molecule.'&nbsp;';
       }
       # get rid of trailing space
       $formula =~ s/(\Q${nbsp}\E| )$//;
       
       return &xmlparse($formula);
   }
   
 sub prettyprint {  sub prettyprint {
     my ($value,$fmt,$target)=@_;      my ($value,$fmt,$target)=@_;
     my $result;      my $result;
     my $dollarmode;      my $dollarmode;
     if (!$target) { $target = $external::target; }      if (!$target) { $target = $external::target; }
       if ($fmt =~ /chem/i) { return(&chemparse($value)); }
     if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; }       if ($fmt =~ /^\$(.*)/) { $fmt=$1; $dollarmode=1; } 
     if ($fmt) { $value=sprintf('%.'.$fmt,$value); }      if ($fmt) { $value=sprintf('%.'.$fmt,$value); }
     if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) {      if ($value =~ /([0-9\.\-\+]+)E([0-9\-\+]+)/i ) {

Removed from v.1.74  
changed lines
  Added in v.1.75


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